Packages
library(psych)
library(corrplot)
library(ggplot2)
library(car)
library(naniar)
library(REdaS)
library(zoo)
library(foreign)
library(lavaan)
library(lavaanPlot)
library(ggcorrplot)
library(lares)
library(MVN)
library(dplyr)
library(knitr)
Data
df <- read.csv2('Case Study III_Structural Equation Modeling.csv', na.strings = '999', sep = ',')
df <- df[, c(1:23, 25:36)]
DT::datatable(df)
Dimensions
dim_before_na <- dim(df)
dim_before_na
## [1] 553 35
Summary Statistics
DT::datatable(describe(df))
Missing Analysis
gg_miss_var(df, show_pct = TRUE)
This is not too bad, we can see that SAT_3 is the one with the most NA values, up to 7%.
naniar::vis_miss(df)
If we look at this plot though we see that the missing values are in a lot of the observations. Therefore, we will to handle the Confirmatory Analysis with a method for replacing those missing values.
Dimensions after listwise deletion
dim_after_na <- dim(na.omit(df))
dim_after_na
## [1] 309 35
na_remove_count <- dim_after_na - dim_before_na
na_remove_count[1] <- abs(na_remove_count[1])
Thus, we remove a lot of observations with listwise deletion, up to 244
# We do list-wise deletion as ask by the TA
df_listwise <- na.omit(df)
Assumptions for EFA
From Assistant Please only consider variables image1 to image22, and use listwise deletion to handle missing data before starting exploratory factor analysis.
Basic Assumptions
df_1 <- df_listwise[,1:22]
Normality - Shapiro Wilk’s test
apply(df_1, 2, shapiro.test)
## $Im1
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92373, p-value = 1.851e-11
##
##
## $Im2
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92499, p-value = 2.411e-11
##
##
## $Im3
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92371, p-value = 1.844e-11
##
##
## $Im4
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92014, p-value = 8.873e-12
##
##
## $Im5
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.91233, p-value = 1.921e-12
##
##
## $Im6
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.82674, p-value < 2.2e-16
##
##
## $Im7
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.84612, p-value < 2.2e-16
##
##
## $Im8
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.80379, p-value < 2.2e-16
##
##
## $Im9
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92158, p-value = 1.187e-11
##
##
## $Im10
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.7981, p-value < 2.2e-16
##
##
## $Im11
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.85448, p-value < 2.2e-16
##
##
## $Im12
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.86819, p-value = 1.38e-15
##
##
## $Im13
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.89122, p-value = 4.669e-14
##
##
## $Im14
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.79446, p-value < 2.2e-16
##
##
## $Im15
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.91767, p-value = 5.414e-12
##
##
## $Im16
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.90488, p-value = 4.853e-13
##
##
## $Im17
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.90676, p-value = 6.818e-13
##
##
## $Im18
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.93189, p-value = 1.081e-10
##
##
## $Im19
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.90393, p-value = 4.097e-13
##
##
## $Im20
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.92824, p-value = 4.834e-11
##
##
## $Im21
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.89126, p-value = 4.7e-14
##
##
## $Im22
##
## Shapiro-Wilk normality test
##
## data: newX[, i]
## W = 0.94596, p-value = 3.211e-09
We reject null-hypothesis for all variables and thus don’t accept normality of the data.
Multivariate normality - Mardia’s Multivariate Normality Test
To say the data are multivariate normal:
• z-kurtosis < 5 (Bentler, 2006) and the P-value should be ≥ 0.05. • The plot should also form a straight line (Arifin, 2015).
MVN::mvn(df_1, mvnTest = "mardia", multivariatePlot = "qq", desc = FALSE)
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 5693.58260956909 0 NO
## 2 Mardia Kurtosis 48.5688465675536 0 NO
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Im1 9.2497 <0.001 NO
## 2 Anderson-Darling Im2 9.0183 <0.001 NO
## 3 Anderson-Darling Im3 9.0339 <0.001 NO
## 4 Anderson-Darling Im4 9.6661 <0.001 NO
## 5 Anderson-Darling Im5 10.8951 <0.001 NO
## 6 Anderson-Darling Im6 18.6917 <0.001 NO
## 7 Anderson-Darling Im7 17.3319 <0.001 NO
## 8 Anderson-Darling Im8 21.2033 <0.001 NO
## 9 Anderson-Darling Im9 9.2733 <0.001 NO
## 10 Anderson-Darling Im10 22.1406 <0.001 NO
## 11 Anderson-Darling Im11 16.4825 <0.001 NO
## 12 Anderson-Darling Im12 14.7775 <0.001 NO
## 13 Anderson-Darling Im13 12.4484 <0.001 NO
## 14 Anderson-Darling Im14 21.7494 <0.001 NO
## 15 Anderson-Darling Im15 10.1132 <0.001 NO
## 16 Anderson-Darling Im16 11.4400 <0.001 NO
## 17 Anderson-Darling Im17 10.7737 <0.001 NO
## 18 Anderson-Darling Im18 8.0021 <0.001 NO
## 19 Anderson-Darling Im19 12.4287 <0.001 NO
## 20 Anderson-Darling Im20 7.9905 <0.001 NO
## 21 Anderson-Darling Im21 13.1862 <0.001 NO
## 22 Anderson-Darling Im22 6.1723 <0.001 NO
The data are not normally distributed at multivariate level. Our extraction method PAF can deal with this non-normality.
Multicolinearity
# Correlation Values Matrix
M <- cor(df_1)
# P-Value
p.mat <- cor_pmat(df_1)
# Correlation Plot
ggcorrplot(M, hc.order = TRUE, type = "lower", lab = TRUE, p.mat = p.mat, sig.level=0.05, lab_size = 2, tl.cex = 10,outline.col = "white", ggtheme = ggplot2::theme_minimal(), colors = c("#823038", "white", "#2596be"))
# Ranked Cross-Correlations
corr_cross(df_1, # name of dataset
max_pvalue = 0.05, # display only significant correlations (at 5% level)
top = 9 # display top 10 couples of variables (by correlation coefficient)
)
As we can see, We have some multicolinearity amongst the variables, at least 6 variables can be considered with high-colinearity. Im3+Im4, Im1+Im2m, Im6+Im7, Im4+Im5, Im8+Im10 and Im8+Im14.
A guide to appropriate use of Correlation coefficient in medical research
Factors Analysis Assumptions
Kaiser-Meyer-Olkin test (KMO)
KMO: Find the Kaiser, Meyer, Olkin Measure of Sampling Adequacy
KMO Index
KMOTEST <- KMO(M)
sort(KMOTEST$MSAi)
## Im6 Im10 Im14 Im2 Im1 Im7 Im20 Im17
## 0.7791619 0.8192843 0.8206186 0.8275596 0.8316756 0.8342908 0.8369658 0.8459668
## Im18 Im4 Im3 Im13 Im12 Im22 Im21 Im11
## 0.8479170 0.8623498 0.8647696 0.8749019 0.8763560 0.8850423 0.8930068 0.9101259
## Im16 Im8 Im9 Im19 Im15 Im5
## 0.9168866 0.9231784 0.9240378 0.9432565 0.9558911 0.9616355
Most KMO Index are Middling, Meritorious or even Marvelous. Im6 is the lowest KMO index being Middling.
KMO Overall Measure of sampling adequacy
KMOTEST$MSA
## [1] 0.8739058
With 0.87, sampling adequacy is very high.
Bartlett’s Test of Sphericity
cortest.bartlett(df_1)
## $chisq
## [1] 5268.134
##
## $p.value
## [1] 0
##
## $df
## [1] 231
EFA can be done as the test indicates a p-value under 0 (P-value < 0) and thus can reject the null hypothesis (Identity Matrix).
Exploratory Factor analysis
Determine the number of factors
- Kaiser’s eigenvalue > 1 rule.
- Cattell’s scree test.
- Parallel analysis.
- Very simple structure (VSS).
- Velicer’s minimum average partial (MAP).
Kaiser’s eigevalue > 1 rule
Factors with eigenvalues > 1 are retained. Eigenvalue can be interpreted as the proportion of the information in a factor. The cut-off of 1 means the factor contains information = 1 item. Thus it is not worthwhile keeping factor with information < 1 item.
fa_result <- fa(df_1, rotate = "varimax", fm = "pa")
factors_kaiser <- sum(fa_result$e.values>1)
print(paste("Kaiser-Criterion:", factors_kaiser,"Factors"))
## [1] "Kaiser-Criterion: 6 Factors"
According to the Kaiser-Criterion, we would use 6 factors.
Catell’s scree test
We can do a factor analysis using rotation varimax
fa_result <- fa(df_1, rotate = "varimax", fm = "pa")
n_factors <- length(fa_result$e.values)
scree <- data.frame(Factor_n = as.factor(1:n_factors), Eigenvalue = fa_result$e.values)
ggplot(scree, aes(x = Factor_n, y = Eigenvalue, group = 1)) +
geom_point() + geom_line() +
xlab("Number of factors") +
ylab("Initial eigenvalue") +
labs( title = "Scree Plot",
subtitle = "(Based on the unreduced correlation matrix)") +
geom_hline(yintercept = 1, color="#2596be") + theme_minimal()
We would say 6 factors (above blue line of eigenvalue > 1)
Parallel analysis
parallel <- fa.parallel(df_1, fm = "pa", fa = "fa")
## Parallel analysis suggests that the number of factors = 7 and the number of components = NA
print(parallel)
## Call: fa.parallel(x = df_1, fm = "pa", fa = "fa")
## Parallel analysis suggests that the number of factors = 7 and the number of components = NA
##
## Eigen Values of
##
## eigen values of factors
## [1] 8.52 1.78 0.92 0.76 0.65 0.58 0.20 0.13 -0.09 -0.12 -0.21 -0.25
## [13] -0.29 -0.34 -0.37 -0.40 -0.42 -0.42 -0.47 -0.51 -0.54 -0.60
##
## eigen values of simulated factors
## [1] 0.61 0.45 0.39 0.32 0.27 0.22 0.17 0.13 0.09 0.06 0.02 -0.02
## [13] -0.05 -0.08 -0.12 -0.15 -0.19 -0.22 -0.26 -0.29 -0.34 -0.39
##
## eigen values of components
## [1] 9.11 2.46 1.58 1.36 1.26 1.14 0.79 0.73 0.56 0.46 0.36 0.33 0.30 0.28 0.25
## [16] 0.22 0.19 0.18 0.14 0.11 0.10 0.08
##
## eigen values of simulated components
## [1] NA
As we can see in parallel analysis, it also suggest 6 factors, nevertheless, factors up to 7 or 8 can also be considered.
Very simple structure (VSS) criterion and Velicer’s minimum average partial (MAP) criterion
vss(df_1, rotate = "varimax", fm = "pa")
##
## Very Simple Structure
## Call: vss(x = df_1, rotate = "varimax", fm = "pa")
## VSS complexity 1 achieves a maximimum of 0.84 with 1 factors
## VSS complexity 2 achieves a maximimum of 0.9 with 2 factors
##
## The Velicer MAP achieves a minimum of 0.04 with 8 factors
## BIC achieves a minimum of -334.88 with 8 factors
## Sample Size adjusted BIC achieves a minimum of -71.64 with 8 factors
##
## Statistics by number of factors
## vss1 vss2 map dof chisq prob sqresid fit RMSEA BIC SABIC complex
## 1 0.84 0.00 0.047 209 2756 0.0e+00 16.0 0.84 0.199 1558 2221 1.0
## 2 0.71 0.90 0.044 188 2143 0.0e+00 10.1 0.90 0.183 1065 1661 1.3
## 3 0.62 0.89 0.045 168 1773 1.0e-265 7.6 0.92 0.176 810 1343 1.4
## 4 0.52 0.84 0.047 149 1455 8.0e-213 5.9 0.94 0.168 600 1073 1.7
## 5 0.44 0.76 0.044 131 1139 3.0e-160 4.3 0.96 0.158 388 803 1.9
## 6 0.39 0.63 0.042 114 636 1.9e-73 3.0 0.97 0.122 -18 344 2.1
## 7 0.39 0.60 0.045 98 296 1.1e-21 2.3 0.98 0.081 -266 45 1.9
## 8 0.37 0.54 0.036 83 141 7.5e-05 1.7 0.98 0.047 -335 -72 2.0
## eChisq SRMR eCRMS eBIC
## 1 2321 0.127 0.134 1122
## 2 1213 0.092 0.102 135
## 3 837 0.077 0.090 -126
## 4 588 0.064 0.080 -266
## 5 364 0.051 0.067 -387
## 6 157 0.033 0.047 -497
## 7 74 0.023 0.035 -488
## 8 19 0.012 0.019 -456
VSS indicates 1/2 factors (vss1 largest at 1 and 2 factors), while MAP indicates 8 factors (map smallest at 8 factors).
VSS criterion for the number of factors (in R’s psych package)
Extraction Method
Our data are not normally distributed, hence the extraction method of choice is principal axis factoring (PAF), because it does not assume normality of data (Brown, 2015). The rotation method is varimax.
We run EFA by
- fixing the number of factors as decided from previous step. 6 or 8 factors are reasonable.
- choosing an appropriate extraction method. We use PAF, fm = “pa” (Principal Axis Factoring).
- choosing an appropriate rotation method. We use varimax, rotate = “varimax”.
6 Factors
We will compute the loadings with 6 factors and varimax rotation
What we need to look for:
- Factor loadings
Multiple threshold exist (as many rules of thumb), in our analysis we will use the standard 0.4 cut-off.
What thresholds should I use for factor loading cut-offs?
- Communalities
We use the standard cut-off of 0.5, all above are good.
fa_result <- fa(df_1, nfactors = 6, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1, nfactors = 6, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA5 PA1 PA2 PA4 PA3 PA6 h2 u2 com
## Im1 0.850 0.841 0.159 1.34
## Im2 0.842 0.796 0.204 1.25
## Im3 0.831 0.874 0.126 1.58
## Im4 0.850 0.893 0.107 1.51
## Im5 0.603 0.524 0.476 1.98
## Im6 0.783 0.708 0.292 1.31
## Im7 0.445 0.739 0.767 0.233 1.75
## Im8 0.725 0.716 0.284 1.72
## Im9 0.480 0.453 0.547 2.80
## Im10 0.821 0.793 0.207 1.37
## Im11 0.537 0.461 0.539 2.24
## Im12 0.796 0.758 0.242 1.42
## Im13 0.748 0.725 0.275 1.64
## Im14 0.794 0.760 0.240 1.43
## Im15 0.589 0.641 0.359 2.86
## Im16 0.468 0.461 0.539 3.00
## Im17 0.439 0.416 0.666 0.334 4.39
## Im18 0.438 0.605 0.395 4.18
## Im19 0.478 0.405 0.541 0.459 3.38
## Im20 0.839 0.775 0.225 1.21
## Im21 0.766 0.680 0.320 1.34
## Im22 0.798 0.804 0.196 1.56
##
## PA5 PA1 PA2 PA4 PA3 PA6
## SS loadings 2.864 2.782 2.608 2.514 2.395 2.080
## Proportion Var 0.130 0.126 0.119 0.114 0.109 0.095
## Cumulative Var 0.130 0.257 0.375 0.489 0.598 0.693
## Proportion Explained 0.188 0.183 0.171 0.165 0.157 0.136
## Cumulative Proportion 0.188 0.370 0.541 0.706 0.864 1.000
##
## Mean item complexity = 2.1
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 231 with the objective function = 17.57 with Chi Square = 5268.134
## df of the model are 114 and the objective function was 2.15
##
## The root mean square of the residuals (RMSR) is 0.033
## The df corrected root mean square of the residuals is 0.047
##
## The harmonic n.obs is 309 with the empirical chi square 157.019 with prob < 0.00471
## The total n.obs was 309 with Likelihood Chi Square = 635.908 with prob < 1.9e-73
##
## Tucker Lewis Index of factoring reliability = 0.7871
## RMSEA index = 0.1217 and the 90 % confidence intervals are 0.1128 0.1312
## BIC = -17.693
## Fit based upon off diagonal values = 0.993
## Measures of factor score adequacy
## PA5 PA1 PA2 PA4 PA3
## Correlation of (regression) scores with factors 0.933 0.949 0.930 0.906 0.930
## Multiple R square of scores with factors 0.871 0.900 0.864 0.821 0.865
## Minimum correlation of possible factor scores 0.741 0.800 0.729 0.643 0.731
## PA6
## Correlation of (regression) scores with factors 0.904
## Multiple R square of scores with factors 0.817
## Minimum correlation of possible factor scores 0.635
1. Factor loadings
We can see that we have 3 cross-loadings, Im7, Im17 and Im19.
Cross-Loadings (Measured with Complexity measure: com > 1):
Im17 > Im19 > Im7 > 1
2. Communalities
On the table, it is column h2
Low Communalities are :
Im9 < Im11 < Im16 < 0.5
Removing Im17 (Lowest Communality and High Complexity)
fa_result <- fa(df_1[!names(df_1) %in% c("Im17")], nfactors = 6, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im17")], nfactors = 6, rotate = "varimax",
## fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA5 PA2 PA3 PA4 PA6 h2 u2 com
## Im1 0.855 0.848 0.1519 1.33
## Im2 0.845 0.799 0.2007 1.25
## Im3 0.839 0.884 0.1159 1.55
## Im4 0.871 0.923 0.0769 1.46
## Im5 0.605 0.526 0.4743 1.97
## Im6 0.860 0.795 0.2050 1.15
## Im7 0.792 0.786 0.2142 1.51
## Im8 0.673 0.429 0.692 0.3077 1.99
## Im9 0.471 0.449 0.5511 2.83
## Im10 0.873 0.878 0.1222 1.32
## Im11 0.548 0.458 0.5423 2.13
## Im12 0.835 0.805 0.1950 1.33
## Im13 0.757 0.738 0.2618 1.63
## Im14 0.830 0.818 0.1820 1.40
## Im15 0.593 0.643 0.3570 2.80
## Im16 0.468 0.461 0.5390 3.00
## Im18 0.421 0.5791 4.38
## Im19 0.480 0.403 0.538 0.4623 3.36
## Im20 0.836 0.770 0.2296 1.21
## Im21 0.773 0.684 0.3157 1.30
## Im22 0.800 0.804 0.1959 1.55
##
## PA1 PA5 PA2 PA3 PA4 PA6
## SS loadings 2.778 2.690 2.447 2.382 2.367 2.057
## Proportion Var 0.132 0.128 0.117 0.113 0.113 0.098
## Cumulative Var 0.132 0.260 0.377 0.490 0.603 0.701
## Proportion Explained 0.189 0.183 0.166 0.162 0.161 0.140
## Cumulative Proportion 0.189 0.371 0.538 0.699 0.860 1.000
##
## Mean item complexity = 1.9
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 210 with the objective function = 16.063 with Chi Square = 4821.666
## df of the model are 99 and the objective function was 1.019
##
## The root mean square of the residuals (RMSR) is 0.025
## The df corrected root mean square of the residuals is 0.036
##
## The harmonic n.obs is 309 with the empirical chi square 81.338 with prob < 0.902
## The total n.obs was 309 with Likelihood Chi Square = 301.667 with prob < 2.4e-22
##
## Tucker Lewis Index of factoring reliability = 0.9055
## RMSEA index = 0.0813 and the 90 % confidence intervals are 0.0711 0.0921
## BIC = -265.934
## Fit based upon off diagonal values = 0.996
## Measures of factor score adequacy
## PA1 PA5 PA2 PA3 PA4
## Correlation of (regression) scores with factors 0.935 0.959 0.943 0.931 0.915
## Multiple R square of scores with factors 0.875 0.920 0.889 0.866 0.837
## Minimum correlation of possible factor scores 0.750 0.841 0.777 0.733 0.673
## PA6
## Correlation of (regression) scores with factors 0.924
## Multiple R square of scores with factors 0.854
## Minimum correlation of possible factor scores 0.709
Removing Im18 (Lowest loadings and High Complexity)
fa_result <- fa(df_1[!names(df_1) %in% c("Im17","Im18")], nfactors = 6, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im17", "Im18")], nfactors = 6,
## rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA5 PA2 PA3 PA4 PA6 h2 u2 com
## Im1 0.859 0.853 0.1475 1.32
## Im2 0.846 0.798 0.2016 1.24
## Im3 0.844 0.895 0.1053 1.55
## Im4 0.873 0.928 0.0722 1.47
## Im5 0.599 0.520 0.4797 2.00
## Im6 0.859 0.787 0.2125 1.14
## Im7 0.810 0.799 0.2007 1.44
## Im8 0.652 0.448 0.685 0.3146 2.12
## Im9 0.461 0.427 0.5731 2.87
## Im10 0.877 0.890 0.1099 1.33
## Im11 0.549 0.458 0.5420 2.14
## Im12 0.853 0.835 0.1654 1.31
## Im13 0.743 0.723 0.2772 1.67
## Im14 0.829 0.823 0.1771 1.42
## Im15 0.597 0.644 0.3563 2.76
## Im16 0.470 0.460 0.5402 2.98
## Im19 0.482 0.535 0.4651 3.33
## Im20 0.838 0.772 0.2276 1.20
## Im21 0.773 0.681 0.3192 1.29
## Im22 0.802 0.805 0.1952 1.54
##
## PA1 PA5 PA2 PA3 PA4 PA6
## SS loadings 2.738 2.565 2.379 2.353 2.223 2.059
## Proportion Var 0.137 0.128 0.119 0.118 0.111 0.103
## Cumulative Var 0.137 0.265 0.384 0.502 0.613 0.716
## Proportion Explained 0.191 0.179 0.166 0.164 0.155 0.144
## Cumulative Proportion 0.191 0.370 0.537 0.701 0.856 1.000
##
## Mean item complexity = 1.8
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 190 with the objective function = 15.509 with Chi Square = 4660.488
## df of the model are 85 and the objective function was 0.921
##
## The root mean square of the residuals (RMSR) is 0.025
## The df corrected root mean square of the residuals is 0.037
##
## The harmonic n.obs is 309 with the empirical chi square 72.686 with prob < 0.827
## The total n.obs was 309 with Likelihood Chi Square = 273.088 with prob < 1.36e-21
##
## Tucker Lewis Index of factoring reliability = 0.9046
## RMSEA index = 0.0846 and the 90 % confidence intervals are 0.0736 0.0961
## BIC = -214.246
## Fit based upon off diagonal values = 0.996
## Measures of factor score adequacy
## PA1 PA5 PA2 PA3 PA4
## Correlation of (regression) scores with factors 0.937 0.963 0.946 0.931 0.921
## Multiple R square of scores with factors 0.877 0.927 0.894 0.868 0.847
## Minimum correlation of possible factor scores 0.755 0.855 0.789 0.735 0.695
## PA6
## Correlation of (regression) scores with factors 0.926
## Multiple R square of scores with factors 0.858
## Minimum correlation of possible factor scores 0.717
Removing Im8 (Cross-loadings (High Complexity))
fa_result <- fa(df_1[!names(df_1) %in% c("Im17","Im18","Im8")], nfactors = 6, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im17", "Im18", "Im8")], nfactors = 6,
## rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA5 PA3 PA4 PA2 PA6 h2 u2 com
## Im1 0.859 0.853 0.1471 1.32
## Im2 0.844 0.796 0.2045 1.24
## Im3 0.845 0.893 0.1070 1.54
## Im4 0.875 0.928 0.0721 1.45
## Im5 0.598 0.519 0.4808 2.00
## Im6 0.884 0.817 0.1827 1.10
## Im7 0.806 0.768 0.2316 1.38
## Im9 0.464 0.427 0.5730 2.80
## Im10 0.882 0.924 0.0763 1.39
## Im11 0.553 0.455 0.5449 2.08
## Im12 0.861 0.841 0.1592 1.28
## Im13 0.740 0.717 0.2833 1.67
## Im14 0.811 0.824 0.1761 1.54
## Im15 0.599 0.645 0.3550 2.72
## Im16 0.472 0.454 0.5461 2.89
## Im19 0.483 0.405 0.534 0.4664 3.27
## Im20 0.836 0.770 0.2303 1.21
## Im21 0.774 0.682 0.3183 1.29
## Im22 0.803 0.807 0.1933 1.54
##
## PA1 PA5 PA3 PA4 PA2 PA6
## SS loadings 2.730 2.578 2.347 2.243 1.942 1.812
## Proportion Var 0.144 0.136 0.124 0.118 0.102 0.095
## Cumulative Var 0.144 0.279 0.403 0.521 0.623 0.719
## Proportion Explained 0.200 0.189 0.172 0.164 0.142 0.133
## Cumulative Proportion 0.200 0.389 0.561 0.725 0.867 1.000
##
## Mean item complexity = 1.8
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 171 with the objective function = 14.415 with Chi Square = 4336.563
## df of the model are 72 and the objective function was 0.819
##
## The root mean square of the residuals (RMSR) is 0.025
## The df corrected root mean square of the residuals is 0.039
##
## The harmonic n.obs is 309 with the empirical chi square 67.363 with prob < 0.633
## The total n.obs was 309 with Likelihood Chi Square = 243.141 with prob < 2.01e-20
##
## Tucker Lewis Index of factoring reliability = 0.9011
## RMSEA index = 0.0876 and the 90 % confidence intervals are 0.0758 0.1001
## BIC = -169.66
## Fit based upon off diagonal values = 0.996
## Measures of factor score adequacy
## PA1 PA5 PA3 PA4 PA2
## Correlation of (regression) scores with factors 0.936 0.963 0.931 0.923 0.930
## Multiple R square of scores with factors 0.877 0.928 0.867 0.852 0.866
## Minimum correlation of possible factor scores 0.754 0.855 0.735 0.703 0.731
## PA6
## Correlation of (regression) scores with factors 0.953
## Multiple R square of scores with factors 0.908
## Minimum correlation of possible factor scores 0.816
Removing Im19 (Low Communality and High Complexity)
fa_result <- fa(df_1[!names(df_1) %in% c("Im17","Im18","Im8","Im19")], nfactors = 6, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im17", "Im18", "Im8", "Im19")],
## nfactors = 6, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA5 PA4 PA3 PA1 PA2 PA6 h2 u2 com
## Im1 0.876 0.894 0.1059 1.34
## Im2 0.863 0.839 0.1610 1.26
## Im3 0.843 0.886 0.1137 1.53
## Im4 0.884 0.938 0.0620 1.43
## Im5 0.615 0.538 0.4624 1.93
## Im6 0.886 0.820 0.1796 1.09
## Im7 0.805 0.765 0.2346 1.37
## Im9 0.464 0.428 0.5717 2.79
## Im10 0.892 0.937 0.0628 1.38
## Im11 0.553 0.454 0.5462 2.06
## Im12 0.866 0.843 0.1568 1.26
## Im13 0.743 0.715 0.2854 1.64
## Im14 0.812 0.822 0.1779 1.53
## Im15 0.560 0.623 0.3767 3.06
## Im16 0.405 0.396 0.6043 3.39
## Im20 0.844 0.779 0.2213 1.19
## Im21 0.773 0.679 0.3214 1.28
## Im22 0.801 0.805 0.1948 1.54
##
## PA5 PA4 PA3 PA1 PA2 PA6
## SS loadings 2.460 2.387 2.343 2.248 1.932 1.792
## Proportion Var 0.137 0.133 0.130 0.125 0.107 0.100
## Cumulative Var 0.137 0.269 0.399 0.524 0.632 0.731
## Proportion Explained 0.187 0.181 0.178 0.171 0.147 0.136
## Cumulative Proportion 0.187 0.368 0.546 0.717 0.864 1.000
##
## Mean item complexity = 1.7
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 153 with the objective function = 13.52 with Chi Square = 4071.795
## df of the model are 60 and the objective function was 0.48
##
## The root mean square of the residuals (RMSR) is 0.018
## The df corrected root mean square of the residuals is 0.029
##
## The harmonic n.obs is 309 with the empirical chi square 32.204 with prob < 0.999
## The total n.obs was 309 with Likelihood Chi Square = 142.579 with prob < 1.12e-08
##
## Tucker Lewis Index of factoring reliability = 0.9455
## RMSEA index = 0.0667 and the 90 % confidence intervals are 0.0528 0.0811
## BIC = -201.422
## Fit based upon off diagonal values = 0.998
## Measures of factor score adequacy
## PA5 PA4 PA3 PA1 PA2
## Correlation of (regression) scores with factors 0.966 0.950 0.933 0.925 0.931
## Multiple R square of scores with factors 0.933 0.902 0.870 0.856 0.867
## Minimum correlation of possible factor scores 0.867 0.804 0.740 0.712 0.734
## PA6
## Correlation of (regression) scores with factors 0.958
## Multiple R square of scores with factors 0.919
## Minimum correlation of possible factor scores 0.837
6 Factors - Conclusion
We removed Im17, Im18, Im8 and Im9 until achieving clear loadings separation.
fa.diagram(fa_result, sort = TRUE, adj = 1, rsize = 4, e.size = 0.07, main = "Factors Analysis with 6 factors", digits = 2, l.cex = 1)
Most Factors have good loadings (at least 2 above 0.7), while PA6 has only 2 variables loaded.
8 Factors
We will redo the same analysis with 8 factors this time and using varimax rotation as well.
fa_result <- fa(df_1, nfactors = 8, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1, nfactors = 8, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA3 PA1 PA2 PA6 PA7 PA5 PA4 PA8 h2 u2 com
## Im1 0.879 0.949 0.0505 1.49
## Im2 0.822 0.832 0.1679 1.50
## Im3 0.803 0.877 0.1232 1.81
## Im4 0.858 0.939 0.0606 1.61
## Im5 0.620 0.568 0.4319 2.09
## Im6 0.845 0.773 0.2268 1.17
## Im7 0.819 0.808 0.1924 1.42
## Im8 0.619 0.474 0.700 0.2995 2.45
## Im9 0.447 0.444 0.5557 3.44
## Im10 0.870 0.887 0.1126 1.37
## Im11 0.552 0.467 0.5327 2.18
## Im12 0.851 0.841 0.1588 1.35
## Im13 0.724 0.730 0.2703 1.88
## Im14 0.850 0.860 0.1396 1.41
## Im15 0.442 0.423 0.668 0.3322 4.90
## Im16 0.732 0.744 0.2559 1.87
## Im17 0.830 0.923 0.0768 1.77
## Im18 0.757 0.785 0.2147 1.83
## Im19 0.561 0.640 0.3605 3.44
## Im20 0.849 0.790 0.2095 1.20
## Im21 0.769 0.684 0.3161 1.33
## Im22 0.797 0.799 0.2012 1.56
##
## PA3 PA1 PA2 PA6 PA7 PA5 PA4 PA8
## SS loadings 2.441 2.394 2.308 2.244 2.110 2.100 1.718 1.395
## Proportion Var 0.111 0.109 0.105 0.102 0.096 0.095 0.078 0.063
## Cumulative Var 0.111 0.220 0.325 0.427 0.523 0.618 0.696 0.760
## Proportion Explained 0.146 0.143 0.138 0.134 0.126 0.126 0.103 0.083
## Cumulative Proportion 0.146 0.289 0.427 0.562 0.688 0.814 0.917 1.000
##
## Mean item complexity = 2
## Test of the hypothesis that 8 factors are sufficient.
##
## df null model = 231 with the objective function = 17.57 with Chi Square = 5268.134
## df of the model are 83 and the objective function was 0.479
##
## The root mean square of the residuals (RMSR) is 0.012
## The df corrected root mean square of the residuals is 0.019
##
## The harmonic n.obs is 309 with the empirical chi square 19.471 with prob < 1
## The total n.obs was 309 with Likelihood Chi Square = 140.985 with prob < 7.46e-05
##
## Tucker Lewis Index of factoring reliability = 0.9674
## RMSEA index = 0.0474 and the 90 % confidence intervals are 0.0337 0.0609
## BIC = -334.883
## Fit based upon off diagonal values = 0.999
## Measures of factor score adequacy
## PA3 PA1 PA2 PA6 PA7
## Correlation of (regression) scores with factors 0.934 0.958 0.947 0.920 0.924
## Multiple R square of scores with factors 0.872 0.917 0.898 0.846 0.854
## Minimum correlation of possible factor scores 0.745 0.834 0.795 0.692 0.709
## PA5 PA4 PA8
## Correlation of (regression) scores with factors 0.964 0.943 0.838
## Multiple R square of scores with factors 0.930 0.890 0.703
## Minimum correlation of possible factor scores 0.860 0.780 0.405
1. Factor loadings
We can see that we have 2 cross-loadings, Im8 and Im15. Therefore 1 less cross-loadings than 6 Factors Analysis.
Cross-Loadings (Measured with Complexity measure: com > 1):
Im15 > Im8 > 1
2. Communalities
On the table, it is column h2
Low Communalities are :
Im9 < Im11 < 0.5 (same low items communalities than in 6 Factor analysis )
Removing Im15 (Low Communality and High Complexity)
fa_result <- fa(df_1[!names(df_1) %in% c("Im15")], nfactors = 8, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im15")], nfactors = 8, rotate = "varimax",
## fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA3 PA1 PA2 PA5 PA7 PA6 PA4 PA8 h2 u2 com
## Im1 0.864 0.935 0.0647 1.55
## Im2 0.825 0.845 0.1553 1.52
## Im3 0.804 0.878 0.1225 1.80
## Im4 0.856 0.936 0.0639 1.61
## Im5 0.625 0.573 0.4275 2.06
## Im6 0.850 0.781 0.2190 1.16
## Im7 0.817 0.805 0.1952 1.42
## Im8 0.623 0.472 0.698 0.3019 2.41
## Im9 0.444 0.442 0.5578 3.46
## Im10 0.881 0.902 0.0979 1.35
## Im11 0.556 0.471 0.5294 2.14
## Im12 0.852 0.841 0.1587 1.34
## Im13 0.722 0.725 0.2749 1.88
## Im14 0.837 0.844 0.1564 1.43
## Im16 0.675 0.677 0.3234 2.11
## Im17 0.826 0.912 0.0883 1.75
## Im18 0.765 0.794 0.2060 1.80
## Im19 0.609 0.686 0.3136 3.02
## Im20 0.854 0.796 0.2037 1.19
## Im21 0.770 0.683 0.3169 1.32
## Im22 0.796 0.795 0.2051 1.55
##
## PA3 PA1 PA2 PA5 PA7 PA6 PA4 PA8
## SS loadings 2.395 2.369 2.303 2.152 2.086 1.841 1.699 1.174
## Proportion Var 0.114 0.113 0.110 0.102 0.099 0.088 0.081 0.056
## Cumulative Var 0.114 0.227 0.336 0.439 0.538 0.626 0.707 0.763
## Proportion Explained 0.150 0.148 0.144 0.134 0.130 0.115 0.106 0.073
## Cumulative Proportion 0.150 0.297 0.441 0.575 0.706 0.821 0.927 1.000
##
## Mean item complexity = 1.8
## Test of the hypothesis that 8 factors are sufficient.
##
## df null model = 210 with the objective function = 16.523 with Chi Square = 4959.748
## df of the model are 70 and the objective function was 0.434
##
## The root mean square of the residuals (RMSR) is 0.012
## The df corrected root mean square of the residuals is 0.02
##
## The harmonic n.obs is 309 with the empirical chi square 17.262 with prob < 1
## The total n.obs was 309 with Likelihood Chi Square = 127.971 with prob < 2.9e-05
##
## Tucker Lewis Index of factoring reliability = 0.9627
## RMSEA index = 0.0517 and the 90 % confidence intervals are 0.0374 0.0659
## BIC = -273.363
## Fit based upon off diagonal values = 0.999
## Measures of factor score adequacy
## PA3 PA1 PA2 PA5 PA7
## Correlation of (regression) scores with factors 0.935 0.954 0.949 0.919 0.925
## Multiple R square of scores with factors 0.873 0.911 0.900 0.844 0.856
## Minimum correlation of possible factor scores 0.747 0.821 0.800 0.688 0.712
## PA6 PA4 PA8
## Correlation of (regression) scores with factors 0.957 0.938 0.806
## Multiple R square of scores with factors 0.917 0.881 0.649
## Minimum correlation of possible factor scores 0.834 0.761 0.299
Removing Im8 (Low Communality and High Complexity)
fa_result <- fa(df_1[!names(df_1) %in% c("Im15","Im8")], nfactors = 8, fm = "pa", rotate = "varimax")
print(fa_result, cut = 0.4, digits = 3)
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im15", "Im8")], nfactors = 8,
## rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA3 PA1 PA4 PA5 PA6 PA2 PA7 PA8 h2 u2 com
## Im1 0.898 0.990 0.0105 1.49
## Im2 0.792 0.800 0.1997 1.61
## Im3 0.800 0.875 0.1250 1.82
## Im4 0.855 0.937 0.0632 1.62
## Im5 0.627 0.575 0.4248 2.06
## Im6 0.885 0.827 0.1732 1.12
## Im7 0.804 0.766 0.2335 1.39
## Im9 0.443 0.440 0.5599 3.42
## Im10 0.914 0.980 0.0201 1.37
## Im11 0.562 0.468 0.5320 2.07
## Im12 0.857 0.845 0.1553 1.32
## Im13 0.722 0.723 0.2773 1.86
## Im14 0.780 0.789 0.2110 1.64
## Im16 0.616 0.601 0.3986 2.35
## Im17 0.864 0.969 0.0311 1.66
## Im18 0.730 0.752 0.2484 1.92
## Im19 0.689 0.758 0.2415 2.40
## Im20 0.852 0.794 0.2064 1.19
## Im21 0.770 0.683 0.3173 1.32
## Im22 0.798 0.798 0.2024 1.55
##
## PA3 PA1 PA4 PA5 PA6 PA2 PA7 PA8
## SS loadings 2.384 2.345 2.169 1.936 1.832 1.788 1.698 1.216
## Proportion Var 0.119 0.117 0.108 0.097 0.092 0.089 0.085 0.061
## Cumulative Var 0.119 0.236 0.345 0.442 0.533 0.623 0.708 0.768
## Proportion Explained 0.155 0.153 0.141 0.126 0.119 0.116 0.110 0.079
## Cumulative Proportion 0.155 0.308 0.449 0.575 0.694 0.810 0.921 1.000
##
## Mean item complexity = 1.8
## Test of the hypothesis that 8 factors are sufficient.
##
## df null model = 190 with the objective function = 15.431 with Chi Square = 4636.932
## df of the model are 58 and the objective function was 0.36
##
## The root mean square of the residuals (RMSR) is 0.011
## The df corrected root mean square of the residuals is 0.021
##
## The harmonic n.obs is 309 with the empirical chi square 15.22 with prob < 1
## The total n.obs was 309 with Likelihood Chi Square = 106.281 with prob < 0.000114
##
## Tucker Lewis Index of factoring reliability = 0.9638
## RMSEA index = 0.0518 and the 90 % confidence intervals are 0.036 0.0674
## BIC = -226.253
## Fit based upon off diagonal values = 0.999
## Measures of factor score adequacy
## PA3 PA1 PA4 PA5 PA6
## Correlation of (regression) scores with factors 0.934 0.955 0.922 0.931 0.989
## Multiple R square of scores with factors 0.873 0.911 0.850 0.867 0.978
## Minimum correlation of possible factor scores 0.746 0.823 0.700 0.735 0.955
## PA2 PA7 PA8
## Correlation of (regression) scores with factors 0.980 0.973 0.818
## Multiple R square of scores with factors 0.961 0.947 0.669
## Minimum correlation of possible factor scores 0.922 0.895 0.338
8 Factors - Conclusion
We removed Im15, Im8 until achieving clear loadings separation. Therefore we removed 2 variables less than 6 Factors Analysis done previously
fa.diagram(fa_result, sort = TRUE, adj = 1, rsize = 4, e.size = 0.07, main = "Factors Analysis with 8 factors", digits = 2, l.cex = 1)
Most Factors have nice loadings (at least 2 above 0.7), but PA8 has 2 variables with only 0.62-0.69 loadings (but close to 0.7).
Deciding between 6 or 8 Factors
fa_result6 <- fa(df_1[!names(df_1) %in% c("Im17","Im18","Im8","Im19")], nfactors = 6, fm = "pa", rotate = "varimax")
fa_result8 <- fa(df_1[!names(df_1) %in% c("Im15","Im8")], nfactors = 8, fm = "pa", rotate = "varimax")
fa_result6
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im17", "Im18", "Im8", "Im19")],
## nfactors = 6, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA5 PA4 PA3 PA1 PA2 PA6 h2 u2 com
## Im1 0.19 0.88 0.22 0.18 0.07 0.08 0.89 0.106 1.3
## Im2 0.22 0.86 0.16 0.10 0.07 0.08 0.84 0.161 1.3
## Im3 0.84 0.21 0.22 0.22 0.12 0.14 0.89 0.114 1.5
## Im4 0.88 0.21 0.18 0.20 0.14 0.13 0.94 0.062 1.4
## Im5 0.62 0.24 0.18 0.20 0.08 0.15 0.54 0.462 1.9
## Im6 0.09 0.06 0.07 0.06 0.89 0.12 0.82 0.180 1.1
## Im7 0.06 0.08 0.11 0.11 0.80 0.29 0.77 0.235 1.4
## Im9 0.19 0.13 0.12 0.36 0.46 0.11 0.43 0.572 2.8
## Im10 0.19 0.10 0.05 0.21 0.23 0.89 0.94 0.063 1.4
## Im11 0.18 0.11 0.18 0.55 0.09 0.25 0.45 0.546 2.1
## Im12 0.17 0.15 0.10 0.87 0.10 0.16 0.84 0.157 1.3
## Im13 0.22 0.24 0.19 0.74 0.14 0.07 0.71 0.285 1.6
## Im14 0.17 0.14 0.06 0.20 0.27 0.81 0.82 0.178 1.5
## Im15 0.26 0.56 0.26 0.37 0.17 0.10 0.62 0.377 3.1
## Im16 0.35 0.40 0.13 0.20 0.06 0.22 0.40 0.604 3.4
## Im20 0.14 0.11 0.84 0.17 0.03 0.04 0.78 0.221 1.2
## Im21 0.16 0.18 0.77 0.12 0.08 0.04 0.68 0.321 1.3
## Im22 0.21 0.24 0.80 0.14 0.19 0.06 0.81 0.195 1.5
##
## PA5 PA4 PA3 PA1 PA2 PA6
## SS loadings 2.46 2.39 2.34 2.25 1.93 1.79
## Proportion Var 0.14 0.13 0.13 0.12 0.11 0.10
## Cumulative Var 0.14 0.27 0.40 0.52 0.63 0.73
## Proportion Explained 0.19 0.18 0.18 0.17 0.15 0.14
## Cumulative Proportion 0.19 0.37 0.55 0.72 0.86 1.00
##
## Mean item complexity = 1.7
## Test of the hypothesis that 6 factors are sufficient.
##
## df null model = 153 with the objective function = 13.52 with Chi Square = 4071.79
## df of the model are 60 and the objective function was 0.48
##
## The root mean square of the residuals (RMSR) is 0.02
## The df corrected root mean square of the residuals is 0.03
##
## The harmonic n.obs is 309 with the empirical chi square 32.2 with prob < 1
## The total n.obs was 309 with Likelihood Chi Square = 142.58 with prob < 1.1e-08
##
## Tucker Lewis Index of factoring reliability = 0.946
## RMSEA index = 0.067 and the 90 % confidence intervals are 0.053 0.081
## BIC = -201.42
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## PA5 PA4 PA3 PA1 PA2 PA6
## Correlation of (regression) scores with factors 0.97 0.95 0.93 0.93 0.93 0.96
## Multiple R square of scores with factors 0.93 0.90 0.87 0.86 0.87 0.92
## Minimum correlation of possible factor scores 0.87 0.80 0.74 0.71 0.73 0.84
fa_result8
## Factor Analysis using method = pa
## Call: fa(r = df_1[!names(df_1) %in% c("Im15", "Im8")], nfactors = 8,
## rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA3 PA1 PA4 PA5 PA6 PA2 PA7 PA8 h2 u2 com
## Im1 0.23 0.18 0.19 0.07 0.90 0.08 0.13 0.18 0.99 0.010 1.5
## Im2 0.18 0.21 0.11 0.07 0.79 0.08 0.17 0.21 0.80 0.200 1.6
## Im3 0.22 0.80 0.20 0.11 0.14 0.13 0.17 0.26 0.88 0.125 1.8
## Im4 0.18 0.86 0.20 0.13 0.15 0.13 0.16 0.23 0.94 0.063 1.6
## Im5 0.18 0.63 0.19 0.06 0.21 0.17 0.18 0.07 0.58 0.425 2.1
## Im6 0.07 0.08 0.05 0.88 0.04 0.12 0.11 0.05 0.83 0.173 1.1
## Im7 0.11 0.06 0.11 0.80 0.06 0.28 0.07 0.06 0.77 0.234 1.4
## Im9 0.12 0.17 0.33 0.44 0.08 0.12 0.26 0.06 0.44 0.560 3.4
## Im10 0.05 0.16 0.20 0.22 0.05 0.91 0.05 0.15 0.98 0.020 1.4
## Im11 0.18 0.18 0.56 0.09 0.09 0.25 0.08 0.06 0.47 0.532 2.1
## Im12 0.10 0.15 0.86 0.09 0.09 0.14 0.14 0.15 0.84 0.155 1.3
## Im13 0.18 0.19 0.72 0.12 0.18 0.08 0.26 0.11 0.72 0.277 1.9
## Im14 0.06 0.16 0.20 0.28 0.11 0.78 0.05 0.14 0.79 0.211 1.6
## Im16 0.12 0.26 0.15 0.05 0.24 0.19 0.15 0.62 0.60 0.399 2.3
## Im17 0.20 0.20 0.22 0.17 0.19 0.06 0.86 0.17 0.97 0.031 1.7
## Im18 0.19 0.24 0.24 0.16 0.14 0.06 0.73 0.13 0.75 0.248 1.9
## Im19 0.16 0.28 0.20 0.14 0.25 0.16 0.18 0.69 0.76 0.242 2.4
## Im20 0.85 0.12 0.17 0.03 0.07 0.03 0.07 0.12 0.79 0.206 1.2
## Im21 0.77 0.15 0.11 0.08 0.15 0.04 0.15 0.06 0.68 0.317 1.3
## Im22 0.80 0.20 0.13 0.18 0.20 0.07 0.15 0.07 0.80 0.202 1.5
##
## PA3 PA1 PA4 PA5 PA6 PA2 PA7 PA8
## SS loadings 2.38 2.35 2.17 1.94 1.83 1.79 1.70 1.22
## Proportion Var 0.12 0.12 0.11 0.10 0.09 0.09 0.08 0.06
## Cumulative Var 0.12 0.24 0.34 0.44 0.53 0.62 0.71 0.77
## Proportion Explained 0.16 0.15 0.14 0.13 0.12 0.12 0.11 0.08
## Cumulative Proportion 0.16 0.31 0.45 0.57 0.69 0.81 0.92 1.00
##
## Mean item complexity = 1.8
## Test of the hypothesis that 8 factors are sufficient.
##
## df null model = 190 with the objective function = 15.43 with Chi Square = 4636.93
## df of the model are 58 and the objective function was 0.36
##
## The root mean square of the residuals (RMSR) is 0.01
## The df corrected root mean square of the residuals is 0.02
##
## The harmonic n.obs is 309 with the empirical chi square 15.22 with prob < 1
## The total n.obs was 309 with Likelihood Chi Square = 106.28 with prob < 0.00011
##
## Tucker Lewis Index of factoring reliability = 0.964
## RMSEA index = 0.052 and the 90 % confidence intervals are 0.036 0.067
## BIC = -226.25
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## PA3 PA1 PA4 PA5 PA6 PA2
## Correlation of (regression) scores with factors 0.93 0.95 0.92 0.93 0.99 0.98
## Multiple R square of scores with factors 0.87 0.91 0.85 0.87 0.98 0.96
## Minimum correlation of possible factor scores 0.75 0.82 0.70 0.73 0.96 0.92
## PA7 PA8
## Correlation of (regression) scores with factors 0.97 0.82
## Multiple R square of scores with factors 0.95 0.67
## Minimum correlation of possible factor scores 0.89 0.34
We can see that for 6 Factors Analysis, we obtain a cumulative proportion variance of 0.73. In total, the extracted factors explain 73% of the variance.
For 8 Factors Analysis, we obtain a cumulative proportion variance of 0.77. In total, the extracted factors explain 77% of the variance.
BIC is lower with 8 factors than 6 factors, therefore may allow more generalization in future sample.
We should also check the root mean square of residuals (RMSR). An acceptable value should be closer to 0. In 6 Factors Analysis we have 0.067 and in 8 Factors Analysis we have 0.052 (closer to 0).
Finally, we must check the Tucker-Lewis Index (TLI). An acceptable value must be greater over 0.9. In 6 Factors Analysis we have 0.946 and in 8 Factors Analysis we have 0.964.
Therefore 8 Factors Analysis is overall better, with better BIC, RMSR and TLI and also explain more the total variance with 77%.
Choosing the Optimal Number of Factors in Exploratory Factor Analysis: A Model Selection Perspective
Labeling 8 Factors
colnames(fa_result8$loadings) <- c("Shopping Experience", "Store Decoration","Luxury Brands","French Culture","Product Assortment","Gourmet Food","Trendiness","Professionalism")
Shopping_Experience <- c("Im20","Im21","Im22")
Store_Decoration <- c("Im3","Im4","Im5")
Luxury_Brands <- c("Im11","Im12","Im13")
French_Culture <- c("Im6","Im7","Im9")
Product_Assortment <- c("Im1","Im2")
Gourmet_Food <- c("Im10","Im14")
Trendiness <- c("Im17","Im18")
Professionalism <- c("Im16","Im19")
fa.diagram(fa_result8, sort = TRUE, adj = 1, rsize = 4, e.size = 0.061, main = "Conclusion of Factors Analysis - with 8 labeled factors", digits = 2, l.cex = 1)
Internal consistency reliability
Our next step is to assess the internal consistency reliability of the factors that were identified through the EFA. To accomplish this, we will use Cronbach’s alpha. We will evaluate the reliability of each factor individually by incorporating only the chosen items for that particular factor.
We need to look at:
1. Cronbach’s alpha
The Cronbach’s alpha indicates the internal consistency reliability. The interpretation is detailed as follows (DeVellis, 2012, pp. 95–96):
2. Corrected item-total correlation
There are four item-total correlations provided in psych. We consider these two:
r.cor = Item-total correlation, corrected for item overlap (Revelle, 2017). This is recommended by Revelle (2017).
Ideally must be > 0.5 (Hair et al., 2010)
Shopping Experience
alpha.pa1 <- psych::alpha(df_1[Shopping_Experience])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.8947029 0.8951786 0.8514649 0.7400356 8.54004 0.01029882 4.677454 1.341113
## median_r
## 0.7296095
raw_alpha is over 0.7 and average items correlation is above 0.5
Store Decoration
alpha.pa1 <- psych::alpha(df_1[Store_Decoration])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.9080535 0.9080107 0.8910999 0.7669149 9.870833 0.009512795 4.909385 1.251142
## median_r
## 0.713708
raw_alpha is over 0.7 and average items correlation is above 0.5
Luxury Brands
alpha.pa1 <- psych::alpha(df_1[Luxury_Brands])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.8362383 0.8369592 0.7932492 0.631152 5.133432 0.01631641 5.549083 1.033799
## median_r
## 0.5951255
raw_alpha is over 0.7 and average items correlation is above 0.5
French Culture
alpha.pa1 <- psych::alpha(df_1[French_Culture])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.7974734 0.8043581 0.7661015 0.5781409 4.111379 0.02082013 5.532902 1.061296
## median_r
## 0.4812433
raw_alpha is over 0.7 and average items correlation is above 0.5
Product Assortment
alpha.pa1 <- psych::alpha(df_1[Product_Assortment])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.9370045 0.9377564 0.8828073 0.8828073 15.06591 0.007118763 4.847896 1.27965
## median_r
## 0.8828073
raw_alpha is over 0.7 and average items correlation is above 0.5
Gourmet Food
alpha.pa1 <- psych::alpha(df_1[Gourmet_Food])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.9327078 0.9327084 0.8739021 0.8739021 13.8607 0.007656198 6.106796 0.8498963
## median_r
## 0.8739021
raw_alpha is over 0.7 and average items correlation is above 0.5
Trendiness
alpha.pa1 <- psych::alpha(df_1[Trendiness])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.9155341 0.9175086 0.8475898 0.8475898 11.12248 0.009476765 4.737864 1.287763
## median_r
## 0.8475898
raw_alpha is over 0.7 and average items correlation is above 0.5
Professionalism
alpha.pa1 <- psych::alpha(df_1[Professionalism])
alpha.pa1$total
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd
## 0.8027054 0.8029503 0.6707744 0.6707744 4.074861 0.02242662 5.082524 1.119696
## median_r
## 0.6707744
raw_alpha is over 0.7 and average items correlation is above 0.5
Our assessment suggests that the factors extracted are reliable, and therefore it is advisable to retain all the items related to these factors.
Dimensions by which Galeries Layfayette is perceived?
fa.diagram(fa_result8, sort = TRUE, adj = 1, rsize = 4, e.size = 0.061, main = "Galeries Lafayette - Perception Dimensions", digits = 2, l.cex = 1)
Dimensions Definitions:
Product Assortment: This group pertains to the variety and range of products offered by the store.
Store Decoration: This group pertains to the aesthetic elements of the store’s interior and exterior, such as the artistic and creative decoration of the sales area, and the appealing arrangement of shop windows.
French Culture: This group pertains to elements of French culture, such as French savoir-vivre, fashion.
Gourmet Food: This group pertains to high-quality food and cosmetic products offered by the store.
Luxury Brands: This group pertains to the presence of luxury and designer brands in the store.
Professionalism: This group pertains to elements of professionalism, such as the store’s professional appearance towards customers and professional organization.
Trendiness: This group pertains to the store’s ability to stay current and up-to-date with the latest trends in the market.
Shopping Experience: This group pertains to the overall shopping experience, including elements such as relaxing shopping, a great place to stroll, and an intimate shop atmosphere.
Confirmatory Factor Analysis
From Assistant For confirmatory factor analysis (CFA) and structural equation modeling (SEM), please use the raw data (which includes the missing values) to perform CFA and SEM, and use maximum likelihood (ML) to handle the missing data.
df <- read.csv2('Case Study III_Structural Equation Modeling.csv', na.strings = '999', sep = ',')
model_CFA <-"
Shopping_Experience =~ Im20+Im21+Im22
Store_Decoration =~ Im3+Im4+Im5
Luxury_Brands =~ Im11+Im12+Im13
French_Culture =~ Im6+Im7+Im9
Product_Assortment =~ Im1+Im2
Gourmet_Food =~ Im10+Im14
Trendiness =~ Im17+Im18
Professionalism =~ Im16+Im19"
fit_CFA <- lavaan::cfa(model_CFA, data=df, missing="ML")
summary(fit_CFA,fit.measures=TRUE, standardized=TRUE)
## lavaan 0.6.15 ended normally after 110 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 88
##
## Number of observations 553
## Number of missing patterns 82
##
## Model Test User Model:
##
## Test statistic 383.534
## Degrees of freedom 142
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 7789.413
## Degrees of freedom 190
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.968
## Tucker-Lewis Index (TLI) 0.957
##
## Robust Comparative Fit Index (CFI) 0.968
## Robust Tucker-Lewis Index (TLI) 0.957
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -13802.030
## Loglikelihood unrestricted model (H1) -13610.263
##
## Akaike (AIC) 27780.060
## Bayesian (BIC) 28159.811
## Sample-size adjusted Bayesian (SABIC) 27880.460
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.055
## 90 Percent confidence interval - lower 0.049
## 90 Percent confidence interval - upper 0.062
## P-value H_0: RMSEA <= 0.050 0.087
## P-value H_0: RMSEA >= 0.080 0.000
##
## Robust RMSEA 0.057
## 90 Percent confidence interval - lower 0.050
## 90 Percent confidence interval - upper 0.064
## P-value H_0: Robust RMSEA <= 0.050 0.055
## P-value H_0: Robust RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.052
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Observed
## Observed information based on Hessian
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Shopping_Experience =~
## Im20 1.000 1.264 0.845
## Im21 0.849 0.041 20.818 0.000 1.073 0.783
## Im22 1.060 0.047 22.590 0.000 1.341 0.877
## Store_Decoration =~
## Im3 1.000 1.236 0.937
## Im4 1.056 0.025 42.717 0.000 1.305 0.969
## Im5 0.818 0.034 23.813 0.000 1.011 0.760
## Luxury_Brands =~
## Im11 1.000 0.703 0.615
## Im12 1.410 0.094 15.048 0.000 0.991 0.872
## Im13 1.464 0.105 13.971 0.000 1.029 0.855
## French_Culture =~
## Im6 1.000 1.002 0.835
## Im7 1.107 0.050 22.219 0.000 1.109 0.919
## Im9 0.789 0.057 13.916 0.000 0.790 0.585
## Product_Assortment =~
## Im1 1.000 1.305 0.980
## Im2 0.885 0.033 27.039 0.000 1.155 0.899
## Gourmet_Food =~
## Im10 1.000 0.812 0.924
## Im14 1.014 0.035 28.587 0.000 0.823 0.952
## Trendiness =~
## Im17 1.000 1.204 0.968
## Im18 0.995 0.041 24.250 0.000 1.197 0.857
## Professionalism =~
## Im16 1.000 0.922 0.766
## Im19 1.045 0.061 17.188 0.000 0.963 0.856
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Shopping_Experience ~~
## Store_Decoratn 0.729 0.082 8.911 0.000 0.467 0.467
## Luxury_Brands 0.372 0.053 7.009 0.000 0.418 0.418
## French_Culture 0.446 0.066 6.749 0.000 0.352 0.352
## Prdct_Assrtmnt 0.739 0.085 8.728 0.000 0.448 0.448
## Gourmet_Food 0.303 0.051 5.951 0.000 0.295 0.295
## Trendiness 0.786 0.081 9.715 0.000 0.517 0.517
## Professionalsm 0.557 0.069 8.091 0.000 0.478 0.478
## Store_Decoration ~~
## Luxury_Brands 0.409 0.051 8.040 0.000 0.471 0.471
## French_Culture 0.449 0.063 7.099 0.000 0.363 0.363
## Prdct_Assrtmnt 0.711 0.079 9.032 0.000 0.440 0.440
## Gourmet_Food 0.418 0.050 8.401 0.000 0.417 0.417
## Trendiness 0.770 0.076 10.141 0.000 0.517 0.517
## Professionalsm 0.744 0.071 10.469 0.000 0.653 0.653
## Luxury_Brands ~~
## French_Culture 0.239 0.039 6.077 0.000 0.340 0.340
## Prdct_Assrtmnt 0.438 0.054 8.161 0.000 0.478 0.478
## Gourmet_Food 0.258 0.034 7.665 0.000 0.452 0.452
## Trendiness 0.479 0.053 9.044 0.000 0.566 0.566
## Professionalsm 0.343 0.043 7.947 0.000 0.529 0.529
## French_Culture ~~
## Prdct_Assrtmnt 0.321 0.063 5.121 0.000 0.246 0.246
## Gourmet_Food 0.490 0.047 10.536 0.000 0.603 0.603
## Trendiness 0.439 0.062 7.087 0.000 0.364 0.364
## Professionalsm 0.360 0.052 6.937 0.000 0.391 0.391
## Product_Assortment ~~
## Gourmet_Food 0.328 0.050 6.581 0.000 0.309 0.309
## Trendiness 0.817 0.079 10.362 0.000 0.519 0.519
## Professionalsm 0.718 0.072 9.961 0.000 0.597 0.597
## Gourmet_Food ~~
## Trendiness 0.318 0.047 6.804 0.000 0.325 0.325
## Professionalsm 0.373 0.043 8.600 0.000 0.498 0.498
## Trendiness ~~
## Professionalsm 0.667 0.066 10.043 0.000 0.601 0.601
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Im20 4.672 0.064 73.178 0.000 4.672 3.123
## .Im21 5.139 0.058 87.970 0.000 5.139 3.751
## .Im22 4.279 0.065 65.401 0.000 4.279 2.799
## .Im3 4.995 0.056 88.565 0.000 4.995 3.786
## .Im4 4.999 0.057 86.988 0.000 4.999 3.712
## .Im5 5.035 0.057 87.848 0.000 5.035 3.787
## .Im11 5.653 0.049 115.273 0.000 5.653 4.943
## .Im12 5.666 0.049 116.092 0.000 5.666 4.983
## .Im13 5.448 0.052 105.619 0.000 5.448 4.524
## .Im6 5.826 0.051 113.774 0.000 5.826 4.856
## .Im7 5.751 0.052 111.068 0.000 5.751 4.766
## .Im9 5.075 0.058 87.408 0.000 5.075 3.756
## .Im1 4.790 0.057 84.203 0.000 4.790 3.597
## .Im2 4.857 0.055 88.356 0.000 4.857 3.779
## .Im10 6.100 0.037 162.799 0.000 6.100 6.937
## .Im14 6.138 0.037 165.865 0.000 6.138 7.093
## .Im17 5.025 0.053 94.529 0.000 5.025 4.041
## .Im18 4.595 0.060 76.455 0.000 4.595 3.287
## .Im16 5.135 0.052 99.150 0.000 5.135 4.269
## .Im19 5.145 0.048 106.953 0.000 5.145 4.574
## Shoppng_Exprnc 0.000 0.000 0.000
## Store_Decoratn 0.000 0.000 0.000
## Luxury_Brands 0.000 0.000 0.000
## French_Culture 0.000 0.000 0.000
## Prdct_Assrtmnt 0.000 0.000 0.000
## Gourmet_Food 0.000 0.000 0.000
## Trendiness 0.000 0.000 0.000
## Professionalsm 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Im20 0.639 0.061 10.445 0.000 0.639 0.285
## .Im21 0.726 0.057 12.672 0.000 0.726 0.387
## .Im22 0.540 0.063 8.515 0.000 0.540 0.231
## .Im3 0.213 0.024 8.760 0.000 0.213 0.123
## .Im4 0.109 0.024 4.524 0.000 0.109 0.060
## .Im5 0.747 0.049 15.217 0.000 0.747 0.422
## .Im11 0.814 0.055 14.803 0.000 0.814 0.622
## .Im12 0.310 0.040 7.833 0.000 0.310 0.239
## .Im13 0.390 0.045 8.771 0.000 0.390 0.269
## .Im6 0.436 0.042 10.443 0.000 0.436 0.303
## .Im7 0.227 0.042 5.343 0.000 0.227 0.156
## .Im9 1.201 0.080 15.032 0.000 1.201 0.658
## .Im1 0.070 0.050 1.383 0.167 0.070 0.039
## .Im2 0.317 0.044 7.242 0.000 0.317 0.192
## .Im10 0.113 0.019 5.935 0.000 0.113 0.146
## .Im14 0.071 0.019 3.764 0.000 0.071 0.094
## .Im17 0.096 0.045 2.153 0.031 0.096 0.062
## .Im18 0.520 0.054 9.566 0.000 0.520 0.266
## .Im16 0.598 0.052 11.498 0.000 0.598 0.413
## .Im19 0.338 0.045 7.481 0.000 0.338 0.267
## Shoppng_Exprnc 1.599 0.138 11.620 0.000 1.000 1.000
## Store_Decoratn 1.527 0.107 14.325 0.000 1.000 1.000
## Luxury_Brands 0.494 0.067 7.363 0.000 1.000 1.000
## French_Culture 1.003 0.089 11.297 0.000 1.000 1.000
## Prdct_Assrtmnt 1.704 0.118 14.391 0.000 1.000 1.000
## Gourmet_Food 0.660 0.049 13.357 0.000 1.000 1.000
## Trendiness 1.450 0.104 13.998 0.000 1.000 1.000
## Professionalsm 0.849 0.088 9.644 0.000 1.000 1.000
standardizedsolution(fit_CFA)
## lhs op rhs est.std se z pvalue
## 1 Shopping_Experience =~ Im20 0.845 0.017 48.438 0.000
## 2 Shopping_Experience =~ Im21 0.783 0.021 37.806 0.000
## 3 Shopping_Experience =~ Im22 0.877 0.017 53.040 0.000
## 4 Store_Decoration =~ Im3 0.937 0.008 114.004 0.000
## 5 Store_Decoration =~ Im4 0.969 0.007 137.088 0.000
## 6 Store_Decoration =~ Im5 0.760 0.019 39.237 0.000
## 7 Luxury_Brands =~ Im11 0.615 0.031 19.967 0.000
## 8 Luxury_Brands =~ Im12 0.872 0.019 47.007 0.000
## 9 Luxury_Brands =~ Im13 0.855 0.019 44.643 0.000
## 10 French_Culture =~ Im6 0.835 0.019 44.725 0.000
## 11 French_Culture =~ Im7 0.919 0.016 55.930 0.000
## 12 French_Culture =~ Im9 0.585 0.032 18.290 0.000
## 13 Product_Assortment =~ Im1 0.980 0.015 67.452 0.000
## 14 Product_Assortment =~ Im2 0.899 0.016 57.629 0.000
## 15 Gourmet_Food =~ Im10 0.924 0.014 66.312 0.000
## 16 Gourmet_Food =~ Im14 0.952 0.013 70.640 0.000
## 17 Trendiness =~ Im17 0.968 0.015 64.310 0.000
## 18 Trendiness =~ Im18 0.857 0.017 49.115 0.000
## 19 Professionalism =~ Im16 0.766 0.024 31.511 0.000
## 20 Professionalism =~ Im19 0.856 0.022 39.167 0.000
## 21 Im20 ~~ Im20 0.285 0.030 9.674 0.000
## 22 Im21 ~~ Im21 0.387 0.032 11.912 0.000
## 23 Im22 ~~ Im22 0.231 0.029 7.969 0.000
## 24 Im3 ~~ Im3 0.123 0.015 7.962 0.000
## 25 Im4 ~~ Im4 0.060 0.014 4.381 0.000
## 26 Im5 ~~ Im5 0.422 0.029 14.339 0.000
## 27 Im11 ~~ Im11 0.622 0.038 16.446 0.000
## 28 Im12 ~~ Im12 0.239 0.032 7.401 0.000
## 29 Im13 ~~ Im13 0.269 0.033 8.226 0.000
## 30 Im6 ~~ Im6 0.303 0.031 9.724 0.000
## 31 Im7 ~~ Im7 0.156 0.030 5.154 0.000
## 32 Im9 ~~ Im9 0.658 0.037 17.595 0.000
## 33 Im1 ~~ Im1 0.039 0.028 1.379 0.168
## 34 Im2 ~~ Im2 0.192 0.028 6.855 0.000
## 35 Im10 ~~ Im10 0.146 0.026 5.685 0.000
## 36 Im14 ~~ Im14 0.094 0.026 3.684 0.000
## 37 Im17 ~~ Im17 0.062 0.029 2.137 0.033
## 38 Im18 ~~ Im18 0.266 0.030 8.905 0.000
## 39 Im16 ~~ Im16 0.413 0.037 11.093 0.000
## 40 Im19 ~~ Im19 0.267 0.037 7.143 0.000
## 41 Shopping_Experience ~~ Shopping_Experience 1.000 0.000 NA NA
## 42 Store_Decoration ~~ Store_Decoration 1.000 0.000 NA NA
## 43 Luxury_Brands ~~ Luxury_Brands 1.000 0.000 NA NA
## 44 French_Culture ~~ French_Culture 1.000 0.000 NA NA
## 45 Product_Assortment ~~ Product_Assortment 1.000 0.000 NA NA
## 46 Gourmet_Food ~~ Gourmet_Food 1.000 0.000 NA NA
## 47 Trendiness ~~ Trendiness 1.000 0.000 NA NA
## 48 Professionalism ~~ Professionalism 1.000 0.000 NA NA
## 49 Shopping_Experience ~~ Store_Decoration 0.467 0.038 12.442 0.000
## 50 Shopping_Experience ~~ Luxury_Brands 0.418 0.042 9.856 0.000
## 51 Shopping_Experience ~~ French_Culture 0.352 0.043 8.118 0.000
## 52 Shopping_Experience ~~ Product_Assortment 0.448 0.038 11.709 0.000
## 53 Shopping_Experience ~~ Gourmet_Food 0.295 0.043 6.792 0.000
## 54 Shopping_Experience ~~ Trendiness 0.517 0.037 14.113 0.000
## 55 Shopping_Experience ~~ Professionalism 0.478 0.042 11.468 0.000
## 56 Store_Decoration ~~ Luxury_Brands 0.471 0.038 12.457 0.000
## 57 Store_Decoration ~~ French_Culture 0.363 0.041 8.789 0.000
## 58 Store_Decoration ~~ Product_Assortment 0.440 0.036 12.074 0.000
## 59 Store_Decoration ~~ Gourmet_Food 0.417 0.038 11.052 0.000
## 60 Store_Decoration ~~ Trendiness 0.517 0.035 14.863 0.000
## 61 Store_Decoration ~~ Professionalism 0.653 0.032 20.635 0.000
## 62 Luxury_Brands ~~ French_Culture 0.340 0.044 7.657 0.000
## 63 Luxury_Brands ~~ Product_Assortment 0.478 0.038 12.618 0.000
## 64 Luxury_Brands ~~ Gourmet_Food 0.452 0.039 11.626 0.000
## 65 Luxury_Brands ~~ Trendiness 0.566 0.035 16.258 0.000
## 66 Luxury_Brands ~~ Professionalism 0.529 0.040 13.232 0.000
## 67 French_Culture ~~ Product_Assortment 0.246 0.044 5.579 0.000
## 68 French_Culture ~~ Gourmet_Food 0.603 0.032 18.938 0.000
## 69 French_Culture ~~ Trendiness 0.364 0.042 8.656 0.000
## 70 French_Culture ~~ Professionalism 0.391 0.045 8.769 0.000
## 71 Product_Assortment ~~ Gourmet_Food 0.309 0.041 7.490 0.000
## 72 Product_Assortment ~~ Trendiness 0.519 0.034 15.157 0.000
## 73 Product_Assortment ~~ Professionalism 0.597 0.036 16.775 0.000
## 74 Gourmet_Food ~~ Trendiness 0.325 0.041 7.939 0.000
## 75 Gourmet_Food ~~ Professionalism 0.498 0.039 12.700 0.000
## 76 Trendiness ~~ Professionalism 0.601 0.035 17.348 0.000
## 77 Im20 ~1 3.123 0.103 30.213 0.000
## 78 Im21 ~1 3.751 0.121 31.049 0.000
## 79 Im22 ~1 2.799 0.095 29.400 0.000
## 80 Im3 ~1 3.786 0.122 30.965 0.000
## 81 Im4 ~1 3.712 0.120 30.889 0.000
## 82 Im5 ~1 3.787 0.124 30.535 0.000
## 83 Im11 ~1 4.943 0.157 31.542 0.000
## 84 Im12 ~1 4.983 0.158 31.525 0.000
## 85 Im13 ~1 4.524 0.144 31.341 0.000
## 86 Im6 ~1 4.856 0.153 31.831 0.000
## 87 Im7 ~1 4.766 0.151 31.497 0.000
## 88 Im9 ~1 3.756 0.122 30.740 0.000
## 89 Im1 ~1 3.597 0.117 30.765 0.000
## 90 Im2 ~1 3.779 0.122 30.960 0.000
## 91 Im10 ~1 6.937 0.213 32.501 0.000
## 92 Im14 ~1 7.093 0.221 32.063 0.000
## 93 Im17 ~1 4.041 0.130 31.175 0.000
## 94 Im18 ~1 3.287 0.109 30.205 0.000
## 95 Im16 ~1 4.269 0.137 31.187 0.000
## 96 Im19 ~1 4.574 0.145 31.501 0.000
## 97 Shopping_Experience ~1 0.000 0.000 NA NA
## 98 Store_Decoration ~1 0.000 0.000 NA NA
## 99 Luxury_Brands ~1 0.000 0.000 NA NA
## 100 French_Culture ~1 0.000 0.000 NA NA
## 101 Product_Assortment ~1 0.000 0.000 NA NA
## 102 Gourmet_Food ~1 0.000 0.000 NA NA
## 103 Trendiness ~1 0.000 0.000 NA NA
## 104 Professionalism ~1 0.000 0.000 NA NA
## ci.lower ci.upper
## 1 0.811 0.880
## 2 0.743 0.824
## 3 0.844 0.909
## 4 0.921 0.953
## 5 0.956 0.983
## 6 0.722 0.798
## 7 0.554 0.675
## 8 0.836 0.908
## 9 0.817 0.892
## 10 0.798 0.871
## 11 0.887 0.951
## 12 0.522 0.647
## 13 0.952 1.009
## 14 0.868 0.929
## 15 0.897 0.951
## 16 0.925 0.978
## 17 0.939 0.998
## 18 0.822 0.891
## 19 0.718 0.814
## 20 0.813 0.899
## 21 0.228 0.343
## 22 0.323 0.450
## 23 0.174 0.288
## 24 0.092 0.153
## 25 0.033 0.087
## 26 0.365 0.480
## 27 0.548 0.696
## 28 0.176 0.303
## 29 0.205 0.333
## 30 0.242 0.364
## 31 0.096 0.215
## 32 0.585 0.731
## 33 -0.017 0.095
## 34 0.137 0.247
## 35 0.096 0.197
## 36 0.044 0.145
## 37 0.005 0.119
## 38 0.208 0.325
## 39 0.340 0.486
## 40 0.194 0.341
## 41 1.000 1.000
## 42 1.000 1.000
## 43 1.000 1.000
## 44 1.000 1.000
## 45 1.000 1.000
## 46 1.000 1.000
## 47 1.000 1.000
## 48 1.000 1.000
## 49 0.393 0.540
## 50 0.335 0.501
## 51 0.267 0.437
## 52 0.373 0.523
## 53 0.210 0.380
## 54 0.445 0.588
## 55 0.396 0.560
## 56 0.397 0.545
## 57 0.282 0.444
## 58 0.369 0.512
## 59 0.343 0.490
## 60 0.449 0.586
## 61 0.591 0.715
## 62 0.253 0.426
## 63 0.404 0.552
## 64 0.376 0.529
## 65 0.498 0.635
## 66 0.451 0.607
## 67 0.159 0.332
## 68 0.540 0.665
## 69 0.282 0.447
## 70 0.303 0.478
## 71 0.228 0.390
## 72 0.452 0.587
## 73 0.527 0.666
## 74 0.245 0.406
## 75 0.421 0.575
## 76 0.533 0.669
## 77 2.921 3.326
## 78 3.514 3.987
## 79 2.612 2.985
## 80 3.546 4.026
## 81 3.477 3.948
## 82 3.544 4.030
## 83 4.636 5.250
## 84 4.673 5.293
## 85 4.241 4.807
## 86 4.557 5.155
## 87 4.469 5.062
## 88 3.517 3.995
## 89 3.368 3.826
## 90 3.540 4.018
## 91 6.519 7.355
## 92 6.660 7.527
## 93 3.787 4.295
## 94 3.074 3.500
## 95 4.001 4.537
## 96 4.289 4.859
## 97 0.000 0.000
## 98 0.000 0.000
## 99 0.000 0.000
## 100 0.000 0.000
## 101 0.000 0.000
## 102 0.000 0.000
## 103 0.000 0.000
## 104 0.000 0.000
CFA Visualization
lavaanPlot(model = fit_CFA, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "palegreen4"), coefs = TRUE, sig = 0.05, covs = FALSE, digits = 2)
lavaanPlot(model = fit_CFA, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "palegreen4"), coefs = TRUE,sig = 0.05, covs = TRUE, digits = 2)
#modificationindices(fit) %>% filter(mi>10)
Structure Equation Modelling
model_SEM <- "
Shopping_Experience =~ Im20+Im21+Im22
Store_Decoration =~ Im3+Im4+Im5
Luxury_Brands =~ Im11+Im12+Im13
French_Culture =~ Im6+Im7+Im9
Product_Assortment =~ Im1+Im2
Gourmet_Food =~ Im10+Im14
Trendiness =~ Im17+Im18
Professionalism =~ Im16+Im19
CS =~ SAT_1 + SAT_2 + SAT_3
AC =~ COM_A1 + COM_A2 + COM_A3 + COM_A4
RI =~ C_REP1 + C_REP2 + C_REP3
CI =~ C_CR1 + C_CR3 + C_CR4
CS ~ Shopping_Experience + Store_Decoration + Luxury_Brands + French_Culture + Product_Assortment + Gourmet_Food + Trendiness + Professionalism
AC ~ Shopping_Experience + Store_Decoration + Luxury_Brands + French_Culture + Product_Assortment + Gourmet_Food + Trendiness + Professionalism
RI ~ CS + AC + Shopping_Experience + Store_Decoration + Luxury_Brands + French_Culture + Product_Assortment + Gourmet_Food + Trendiness + Professionalism
CI ~ CS + AC + Shopping_Experience + Store_Decoration + Luxury_Brands + French_Culture + Product_Assortment + Gourmet_Food + Trendiness + Professionalism "
fit_SEM <- lavaan::cfa(model_SEM, data=df, missing="ML")
summary(fit_SEM,fit.measures=TRUE, standardized=TRUE)
## lavaan 0.6.15 ended normally after 153 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 164
##
## Number of observations 553
## Number of missing patterns 137
##
## Model Test User Model:
##
## Test statistic 835.621
## Degrees of freedom 430
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 12305.018
## Degrees of freedom 528
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.966
## Tucker-Lewis Index (TLI) 0.958
##
## Robust Comparative Fit Index (CFI) 0.966
## Robust Tucker-Lewis Index (TLI) 0.958
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -23197.252
## Loglikelihood unrestricted model (H1) -22779.442
##
## Akaike (AIC) 46722.504
## Bayesian (BIC) 47430.223
## Sample-size adjusted Bayesian (SABIC) 46909.614
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.041
## 90 Percent confidence interval - lower 0.037
## 90 Percent confidence interval - upper 0.045
## P-value H_0: RMSEA <= 0.050 1.000
## P-value H_0: RMSEA >= 0.080 0.000
##
## Robust RMSEA 0.042
## 90 Percent confidence interval - lower 0.038
## 90 Percent confidence interval - upper 0.046
## P-value H_0: Robust RMSEA <= 0.050 0.999
## P-value H_0: Robust RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.048
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Observed
## Observed information based on Hessian
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Shopping_Experience =~
## Im20 1.000 1.262 0.844
## Im21 0.857 0.041 20.998 0.000 1.081 0.789
## Im22 1.056 0.046 23.027 0.000 1.333 0.873
## Store_Decoration =~
## Im3 1.000 1.235 0.936
## Im4 1.057 0.025 42.733 0.000 1.306 0.970
## Im5 0.818 0.034 23.805 0.000 1.010 0.760
## Luxury_Brands =~
## Im11 1.000 0.700 0.613
## Im12 1.415 0.094 15.007 0.000 0.991 0.872
## Im13 1.468 0.105 13.929 0.000 1.029 0.855
## French_Culture =~
## Im6 1.000 1.004 0.837
## Im7 1.101 0.049 22.598 0.000 1.106 0.916
## Im9 0.788 0.057 13.939 0.000 0.792 0.586
## Product_Assortment =~
## Im1 1.000 1.297 0.974
## Im2 0.895 0.032 28.321 0.000 1.161 0.904
## Gourmet_Food =~
## Im10 1.000 0.811 0.922
## Im14 1.018 0.035 28.748 0.000 0.826 0.954
## Trendiness =~
## Im17 1.000 1.205 0.969
## Im18 0.993 0.041 24.204 0.000 1.196 0.856
## Professionalism =~
## Im16 1.000 0.919 0.764
## Im19 1.043 0.058 17.879 0.000 0.959 0.853
## CS =~
## SAT_1 1.000 0.882 0.865
## SAT_2 0.933 0.049 18.916 0.000 0.823 0.819
## SAT_3 0.809 0.055 14.802 0.000 0.714 0.624
## AC =~
## COM_A1 1.000 1.144 0.796
## COM_A2 1.174 0.055 21.504 0.000 1.343 0.836
## COM_A3 1.162 0.058 20.027 0.000 1.329 0.817
## COM_A4 1.278 0.061 20.800 0.000 1.462 0.842
## RI =~
## C_REP1 1.000 0.596 0.816
## C_REP2 0.971 0.043 22.489 0.000 0.579 0.931
## C_REP3 0.702 0.037 19.036 0.000 0.419 0.756
## CI =~
## C_CR1 1.000 1.658 0.851
## C_CR3 1.033 0.051 20.247 0.000 1.712 0.826
## C_CR4 0.964 0.049 19.766 0.000 1.598 0.806
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## CS ~
## Shoppng_Exprnc 0.051 0.038 1.357 0.175 0.074 0.074
## Store_Decoratn -0.110 0.043 -2.551 0.011 -0.153 -0.153
## Luxury_Brands -0.041 0.075 -0.543 0.587 -0.032 -0.032
## French_Culture 0.109 0.050 2.156 0.031 0.124 0.124
## Prdct_Assrtmnt 0.135 0.040 3.403 0.001 0.198 0.198
## Gourmet_Food 0.075 0.066 1.147 0.251 0.069 0.069
## Trendiness 0.004 0.045 0.089 0.929 0.005 0.005
## Professionalsm 0.461 0.088 5.259 0.000 0.480 0.480
## AC ~
## Shoppng_Exprnc 0.372 0.052 7.186 0.000 0.410 0.410
## Store_Decoratn -0.026 0.054 -0.480 0.631 -0.028 -0.028
## Luxury_Brands -0.193 0.098 -1.959 0.050 -0.118 -0.118
## French_Culture 0.237 0.065 3.621 0.000 0.208 0.208
## Prdct_Assrtmnt 0.102 0.050 2.041 0.041 0.116 0.116
## Gourmet_Food 0.016 0.085 0.194 0.846 0.012 0.012
## Trendiness -0.026 0.058 -0.450 0.653 -0.028 -0.028
## Professionalsm 0.162 0.105 1.541 0.123 0.131 0.131
## RI ~
## CS 0.215 0.045 4.785 0.000 0.318 0.318
## AC 0.186 0.030 6.164 0.000 0.356 0.356
## Shoppng_Exprnc 0.040 0.028 1.435 0.151 0.086 0.086
## Store_Decoratn 0.010 0.029 0.353 0.724 0.021 0.021
## Luxury_Brands 0.078 0.051 1.523 0.128 0.092 0.092
## French_Culture -0.041 0.034 -1.187 0.235 -0.069 -0.069
## Prdct_Assrtmnt -0.017 0.026 -0.675 0.500 -0.038 -0.038
## Gourmet_Food 0.042 0.044 0.963 0.335 0.057 0.057
## Trendiness -0.009 0.030 -0.295 0.768 -0.018 -0.018
## Professionalsm -0.037 0.060 -0.621 0.535 -0.058 -0.058
## CI ~
## CS -0.356 0.131 -2.710 0.007 -0.190 -0.190
## AC 0.548 0.091 6.021 0.000 0.378 0.378
## Shoppng_Exprnc 0.152 0.087 1.738 0.082 0.116 0.116
## Store_Decoratn -0.030 0.090 -0.331 0.741 -0.022 -0.022
## Luxury_Brands 0.201 0.159 1.264 0.206 0.085 0.085
## French_Culture -0.134 0.107 -1.254 0.210 -0.081 -0.081
## Prdct_Assrtmnt -0.007 0.080 -0.091 0.927 -0.006 -0.006
## Gourmet_Food -0.074 0.136 -0.542 0.588 -0.036 -0.036
## Trendiness 0.026 0.093 0.286 0.775 0.019 0.019
## Professionalsm -0.178 0.184 -0.967 0.334 -0.099 -0.099
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Shopping_Experience ~~
## Store_Decoratn 0.728 0.082 8.916 0.000 0.467 0.467
## Luxury_Brands 0.370 0.053 7.012 0.000 0.418 0.418
## French_Culture 0.446 0.066 6.743 0.000 0.352 0.352
## Prdct_Assrtmnt 0.732 0.084 8.676 0.000 0.447 0.447
## Gourmet_Food 0.302 0.051 5.952 0.000 0.295 0.295
## Trendiness 0.784 0.081 9.709 0.000 0.516 0.516
## Professionalsm 0.552 0.068 8.107 0.000 0.476 0.476
## Store_Decoration ~~
## Luxury_Brands 0.407 0.051 8.023 0.000 0.470 0.470
## French_Culture 0.452 0.063 7.146 0.000 0.364 0.364
## Prdct_Assrtmnt 0.708 0.079 9.017 0.000 0.442 0.442
## Gourmet_Food 0.417 0.050 8.396 0.000 0.417 0.417
## Trendiness 0.769 0.076 10.130 0.000 0.516 0.516
## Professionalsm 0.744 0.070 10.552 0.000 0.655 0.655
## Luxury_Brands ~~
## French_Culture 0.239 0.039 6.077 0.000 0.339 0.339
## Prdct_Assrtmnt 0.433 0.053 8.112 0.000 0.477 0.477
## Gourmet_Food 0.257 0.034 7.648 0.000 0.452 0.452
## Trendiness 0.477 0.053 9.027 0.000 0.565 0.565
## Professionalsm 0.342 0.043 7.967 0.000 0.531 0.531
## French_Culture ~~
## Prdct_Assrtmnt 0.323 0.063 5.160 0.000 0.248 0.248
## Gourmet_Food 0.490 0.047 10.536 0.000 0.602 0.602
## Trendiness 0.443 0.062 7.144 0.000 0.366 0.366
## Professionalsm 0.362 0.052 6.979 0.000 0.392 0.392
## Product_Assortment ~~
## Gourmet_Food 0.328 0.050 6.606 0.000 0.312 0.312
## Trendiness 0.814 0.079 10.355 0.000 0.521 0.521
## Professionalsm 0.717 0.071 10.051 0.000 0.602 0.602
## Gourmet_Food ~~
## Trendiness 0.317 0.047 6.800 0.000 0.325 0.325
## Professionalsm 0.372 0.043 8.640 0.000 0.500 0.500
## Trendiness ~~
## Professionalsm 0.667 0.066 10.108 0.000 0.602 0.602
## .RI ~~
## .CI -0.015 0.038 -0.404 0.686 -0.021 -0.021
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Im20 4.672 0.064 73.218 0.000 4.672 3.125
## .Im21 5.139 0.058 87.977 0.000 5.139 3.750
## .Im22 4.280 0.065 65.479 0.000 4.280 2.802
## .Im3 4.995 0.056 88.571 0.000 4.995 3.786
## .Im4 4.999 0.057 87.000 0.000 4.999 3.713
## .Im5 5.036 0.057 87.852 0.000 5.036 3.787
## .Im11 5.653 0.049 115.303 0.000 5.653 4.944
## .Im12 5.665 0.049 116.165 0.000 5.665 4.987
## .Im13 5.448 0.052 105.695 0.000 5.448 4.528
## .Im6 5.827 0.051 113.792 0.000 5.827 4.857
## .Im7 5.752 0.052 111.063 0.000 5.752 4.765
## .Im9 5.075 0.058 87.406 0.000 5.075 3.756
## .Im1 4.792 0.057 84.290 0.000 4.792 3.600
## .Im2 4.858 0.055 88.417 0.000 4.858 3.781
## .Im10 6.100 0.037 162.786 0.000 6.100 6.936
## .Im14 6.138 0.037 165.853 0.000 6.138 7.093
## .Im17 5.025 0.053 94.560 0.000 5.025 4.043
## .Im18 4.595 0.060 76.466 0.000 4.595 3.287
## .Im16 5.135 0.052 99.194 0.000 5.135 4.270
## .Im19 5.145 0.048 107.020 0.000 5.145 4.576
## .SAT_1 5.343 0.043 122.950 0.000 5.343 5.239
## .SAT_2 5.482 0.043 127.738 0.000 5.482 5.455
## .SAT_3 5.458 0.050 109.430 0.000 5.458 4.774
## .COM_A1 4.287 0.061 69.747 0.000 4.287 2.983
## .COM_A2 3.887 0.069 56.667 0.000 3.887 2.420
## .COM_A3 3.543 0.070 50.857 0.000 3.543 2.178
## .COM_A4 3.456 0.074 46.672 0.000 3.456 1.991
## .C_REP1 4.283 0.031 137.513 0.000 4.283 5.859
## .C_REP2 4.507 0.027 169.648 0.000 4.507 7.250
## .C_REP3 4.677 0.024 196.940 0.000 4.677 8.445
## .C_CR1 2.679 0.084 32.075 0.000 2.679 1.375
## .C_CR3 3.261 0.088 36.880 0.000 3.261 1.572
## .C_CR4 2.786 0.085 32.902 0.000 2.786 1.405
## Shoppng_Exprnc 0.000 0.000 0.000
## Store_Decoratn 0.000 0.000 0.000
## Luxury_Brands 0.000 0.000 0.000
## French_Culture 0.000 0.000 0.000
## Prdct_Assrtmnt 0.000 0.000 0.000
## Gourmet_Food 0.000 0.000 0.000
## Trendiness 0.000 0.000 0.000
## Professionalsm 0.000 0.000 0.000
## .CS 0.000 0.000 0.000
## .AC 0.000 0.000 0.000
## .RI 0.000 0.000 0.000
## .CI 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Im20 0.644 0.059 10.840 0.000 0.644 0.288
## .Im21 0.708 0.056 12.626 0.000 0.708 0.377
## .Im22 0.557 0.061 9.070 0.000 0.557 0.239
## .Im3 0.214 0.024 8.796 0.000 0.214 0.123
## .Im4 0.108 0.024 4.485 0.000 0.108 0.059
## .Im5 0.747 0.049 15.220 0.000 0.747 0.423
## .Im11 0.817 0.055 14.817 0.000 0.817 0.625
## .Im12 0.309 0.040 7.805 0.000 0.309 0.239
## .Im13 0.390 0.045 8.754 0.000 0.390 0.269
## .Im6 0.431 0.041 10.534 0.000 0.431 0.300
## .Im7 0.234 0.041 5.682 0.000 0.234 0.161
## .Im9 1.199 0.080 15.053 0.000 1.199 0.657
## .Im1 0.089 0.047 1.918 0.055 0.089 0.050
## .Im2 0.302 0.041 7.314 0.000 0.302 0.183
## .Im10 0.116 0.019 6.156 0.000 0.116 0.150
## .Im14 0.067 0.019 3.618 0.000 0.067 0.090
## .Im17 0.094 0.045 2.085 0.037 0.094 0.061
## .Im18 0.523 0.054 9.593 0.000 0.523 0.268
## .Im16 0.602 0.050 11.943 0.000 0.602 0.416
## .Im19 0.345 0.043 7.943 0.000 0.345 0.273
## .SAT_1 0.262 0.034 7.733 0.000 0.262 0.252
## .SAT_2 0.333 0.033 9.973 0.000 0.333 0.329
## .SAT_3 0.798 0.056 14.348 0.000 0.798 0.610
## .COM_A1 0.757 0.058 12.960 0.000 0.757 0.367
## .COM_A2 0.778 0.065 11.906 0.000 0.778 0.301
## .COM_A3 0.881 0.070 12.504 0.000 0.881 0.333
## .COM_A4 0.876 0.075 11.720 0.000 0.876 0.291
## .C_REP1 0.179 0.016 11.295 0.000 0.179 0.335
## .C_REP2 0.051 0.010 4.947 0.000 0.051 0.133
## .C_REP3 0.131 0.009 14.061 0.000 0.131 0.429
## .C_CR1 1.048 0.113 9.309 0.000 1.048 0.276
## .C_CR3 1.369 0.130 10.572 0.000 1.369 0.318
## .C_CR4 1.377 0.122 11.292 0.000 1.377 0.350
## Shoppng_Exprnc 1.591 0.136 11.660 0.000 1.000 1.000
## Store_Decoratn 1.526 0.107 14.319 0.000 1.000 1.000
## Luxury_Brands 0.491 0.067 7.337 0.000 1.000 1.000
## French_Culture 1.008 0.089 11.380 0.000 1.000 1.000
## Prdct_Assrtmnt 1.683 0.117 14.435 0.000 1.000 1.000
## Gourmet_Food 0.657 0.049 13.327 0.000 1.000 1.000
## Trendiness 1.451 0.104 14.017 0.000 1.000 1.000
## Professionalsm 0.845 0.087 9.730 0.000 1.000 1.000
## .CS 0.448 0.047 9.459 0.000 0.576 0.576
## .AC 0.859 0.086 10.029 0.000 0.657 0.657
## .RI 0.237 0.022 10.939 0.000 0.667 0.667
## .CI 2.278 0.208 10.939 0.000 0.829 0.829
standardizedsolution(fit_SEM)
## lhs op rhs est.std se z pvalue
## 1 Shopping_Experience =~ Im20 0.844 0.017 49.384 0.000
## 2 Shopping_Experience =~ Im21 0.789 0.020 39.017 0.000
## 3 Shopping_Experience =~ Im22 0.873 0.016 53.843 0.000
## 4 Store_Decoration =~ Im3 0.936 0.008 113.829 0.000
## 5 Store_Decoration =~ Im4 0.970 0.007 137.388 0.000
## 6 Store_Decoration =~ Im5 0.760 0.019 39.210 0.000
## 7 Luxury_Brands =~ Im11 0.613 0.031 19.843 0.000
## 8 Luxury_Brands =~ Im12 0.872 0.019 46.964 0.000
## 9 Luxury_Brands =~ Im13 0.855 0.019 44.604 0.000
## 10 French_Culture =~ Im6 0.837 0.018 45.738 0.000
## 11 French_Culture =~ Im7 0.916 0.016 57.055 0.000
## 12 French_Culture =~ Im9 0.586 0.032 18.394 0.000
## 13 Product_Assortment =~ Im1 0.974 0.014 71.821 0.000
## 14 Product_Assortment =~ Im2 0.904 0.015 61.633 0.000
## 15 Gourmet_Food =~ Im10 0.922 0.014 66.472 0.000
## 16 Gourmet_Food =~ Im14 0.954 0.013 71.602 0.000
## 17 Trendiness =~ Im17 0.969 0.015 64.177 0.000
## 18 Trendiness =~ Im18 0.856 0.018 48.888 0.000
## 19 Professionalism =~ Im16 0.764 0.024 32.323 0.000
## 20 Professionalism =~ Im19 0.853 0.021 40.224 0.000
## 21 CS =~ SAT_1 0.865 0.020 43.715 0.000
## 22 CS =~ SAT_2 0.819 0.022 38.089 0.000
## 23 CS =~ SAT_3 0.624 0.031 20.411 0.000
## 24 AC =~ COM_A1 0.796 0.019 41.485 0.000
## 25 AC =~ COM_A2 0.836 0.017 50.270 0.000
## 26 AC =~ COM_A3 0.817 0.018 46.015 0.000
## 27 AC =~ COM_A4 0.842 0.016 52.127 0.000
## 28 RI =~ C_REP1 0.816 0.019 42.492 0.000
## 29 RI =~ C_REP2 0.931 0.015 62.586 0.000
## 30 RI =~ C_REP3 0.756 0.021 36.070 0.000
## 31 CI =~ C_CR1 0.851 0.019 45.339 0.000
## 32 CI =~ C_CR3 0.826 0.020 41.966 0.000
## 33 CI =~ C_CR4 0.806 0.021 39.024 0.000
## 34 CS ~ Shopping_Experience 0.074 0.054 1.360 0.174
## 35 CS ~ Store_Decoration -0.153 0.060 -2.559 0.011
## 36 CS ~ Luxury_Brands -0.032 0.060 -0.543 0.587
## 37 CS ~ French_Culture 0.124 0.057 2.172 0.030
## 38 CS ~ Product_Assortment 0.198 0.057 3.484 0.000
## 39 CS ~ Gourmet_Food 0.069 0.060 1.149 0.251
## 40 CS ~ Trendiness 0.005 0.061 0.089 0.929
## 41 CS ~ Professionalism 0.480 0.087 5.527 0.000
## 42 AC ~ Shopping_Experience 0.410 0.052 7.916 0.000
## 43 AC ~ Store_Decoration -0.028 0.059 -0.480 0.631
## 44 AC ~ Luxury_Brands -0.118 0.059 -1.988 0.047
## 45 AC ~ French_Culture 0.208 0.056 3.689 0.000
## 46 AC ~ Product_Assortment 0.116 0.056 2.062 0.039
## 47 AC ~ Gourmet_Food 0.012 0.060 0.194 0.846
## 48 AC ~ Trendiness -0.028 0.061 -0.450 0.652
## 49 AC ~ Professionalism 0.131 0.084 1.554 0.120
## 50 RI ~ CS 0.318 0.063 5.046 0.000
## 51 RI ~ AC 0.356 0.054 6.640 0.000
## 52 RI ~ Shopping_Experience 0.086 0.059 1.441 0.149
## 53 RI ~ Store_Decoration 0.021 0.060 0.353 0.724
## 54 RI ~ Luxury_Brands 0.092 0.060 1.531 0.126
## 55 RI ~ French_Culture -0.069 0.058 -1.189 0.234
## 56 RI ~ Product_Assortment -0.038 0.056 -0.675 0.500
## 57 RI ~ Gourmet_Food 0.057 0.059 0.966 0.334
## 58 RI ~ Trendiness -0.018 0.060 -0.295 0.768
## 59 RI ~ Professionalism -0.058 0.093 -0.621 0.535
## 60 CI ~ CS -0.190 0.068 -2.773 0.006
## 61 CI ~ AC 0.378 0.058 6.572 0.000
## 62 CI ~ Shopping_Experience 0.116 0.066 1.745 0.081
## 63 CI ~ Store_Decoration -0.022 0.067 -0.331 0.741
## 64 CI ~ Luxury_Brands 0.085 0.067 1.268 0.205
## 65 CI ~ French_Culture -0.081 0.065 -1.257 0.209
## 66 CI ~ Product_Assortment -0.006 0.063 -0.091 0.927
## 67 CI ~ Gourmet_Food -0.036 0.066 -0.542 0.588
## 68 CI ~ Trendiness 0.019 0.067 0.286 0.775
## 69 CI ~ Professionalism -0.099 0.102 -0.966 0.334
## 70 Im20 ~~ Im20 0.288 0.029 9.996 0.000
## 71 Im21 ~~ Im21 0.377 0.032 11.818 0.000
## 72 Im22 ~~ Im22 0.239 0.028 8.439 0.000
## 73 Im3 ~~ Im3 0.123 0.015 7.990 0.000
## 74 Im4 ~~ Im4 0.059 0.014 4.346 0.000
## 75 Im5 ~~ Im5 0.423 0.029 14.344 0.000
## 76 Im11 ~~ Im11 0.625 0.038 16.516 0.000
## 77 Im12 ~~ Im12 0.239 0.032 7.381 0.000
## 78 Im13 ~~ Im13 0.269 0.033 8.218 0.000
## 79 Im6 ~~ Im6 0.300 0.031 9.786 0.000
## 80 Im7 ~~ Im7 0.161 0.029 5.460 0.000
## 81 Im9 ~~ Im9 0.657 0.037 17.603 0.000
## 82 Im1 ~~ Im1 0.050 0.026 1.907 0.057
## 83 Im2 ~~ Im2 0.183 0.027 6.904 0.000
## 84 Im10 ~~ Im10 0.150 0.026 5.881 0.000
## 85 Im14 ~~ Im14 0.090 0.025 3.545 0.000
## 86 Im17 ~~ Im17 0.061 0.029 2.071 0.038
## 87 Im18 ~~ Im18 0.268 0.030 8.931 0.000
## 88 Im16 ~~ Im16 0.416 0.036 11.512 0.000
## 89 Im19 ~~ Im19 0.273 0.036 7.554 0.000
## 90 SAT_1 ~~ SAT_1 0.252 0.034 7.347 0.000
## 91 SAT_2 ~~ SAT_2 0.329 0.035 9.352 0.000
## 92 SAT_3 ~~ SAT_3 0.610 0.038 15.968 0.000
## 93 COM_A1 ~~ COM_A1 0.367 0.031 12.002 0.000
## 94 COM_A2 ~~ COM_A2 0.301 0.028 10.846 0.000
## 95 COM_A3 ~~ COM_A3 0.333 0.029 11.470 0.000
## 96 COM_A4 ~~ COM_A4 0.291 0.027 10.681 0.000
## 97 C_REP1 ~~ C_REP1 0.335 0.031 10.680 0.000
## 98 C_REP2 ~~ C_REP2 0.133 0.028 4.785 0.000
## 99 C_REP3 ~~ C_REP3 0.429 0.032 13.525 0.000
## 100 C_CR1 ~~ C_CR1 0.276 0.032 8.644 0.000
## 101 C_CR3 ~~ C_CR3 0.318 0.032 9.799 0.000
## 102 C_CR4 ~~ C_CR4 0.350 0.033 10.525 0.000
## 103 Shopping_Experience ~~ Shopping_Experience 1.000 0.000 NA NA
## 104 Store_Decoration ~~ Store_Decoration 1.000 0.000 NA NA
## 105 Luxury_Brands ~~ Luxury_Brands 1.000 0.000 NA NA
## 106 French_Culture ~~ French_Culture 1.000 0.000 NA NA
## 107 Product_Assortment ~~ Product_Assortment 1.000 0.000 NA NA
## 108 Gourmet_Food ~~ Gourmet_Food 1.000 0.000 NA NA
## 109 Trendiness ~~ Trendiness 1.000 0.000 NA NA
## 110 Professionalism ~~ Professionalism 1.000 0.000 NA NA
## 111 CS ~~ CS 0.576 0.043 13.384 0.000
## 112 AC ~~ AC 0.657 0.039 16.940 0.000
## 113 RI ~~ RI 0.667 0.039 17.235 0.000
## 114 CI ~~ CI 0.829 0.038 21.987 0.000
## 115 Shopping_Experience ~~ Store_Decoration 0.467 0.038 12.450 0.000
## 116 Shopping_Experience ~~ Luxury_Brands 0.418 0.042 9.852 0.000
## 117 Shopping_Experience ~~ French_Culture 0.352 0.043 8.098 0.000
## 118 Shopping_Experience ~~ Product_Assortment 0.447 0.038 11.645 0.000
## 119 Shopping_Experience ~~ Gourmet_Food 0.295 0.043 6.794 0.000
## 120 Shopping_Experience ~~ Trendiness 0.516 0.037 14.088 0.000
## 121 Shopping_Experience ~~ Professionalism 0.476 0.042 11.387 0.000
## 122 Store_Decoration ~~ Luxury_Brands 0.470 0.038 12.426 0.000
## 123 Store_Decoration ~~ French_Culture 0.364 0.041 8.846 0.000
## 124 Store_Decoration ~~ Product_Assortment 0.442 0.036 12.122 0.000
## 125 Store_Decoration ~~ Gourmet_Food 0.417 0.038 11.065 0.000
## 126 Store_Decoration ~~ Trendiness 0.516 0.035 14.808 0.000
## 127 Store_Decoration ~~ Professionalism 0.655 0.032 20.654 0.000
## 128 Luxury_Brands ~~ French_Culture 0.339 0.044 7.645 0.000
## 129 Luxury_Brands ~~ Product_Assortment 0.477 0.038 12.522 0.000
## 130 Luxury_Brands ~~ Gourmet_Food 0.452 0.039 11.615 0.000
## 131 Luxury_Brands ~~ Trendiness 0.565 0.035 16.196 0.000
## 132 Luxury_Brands ~~ Professionalism 0.531 0.040 13.239 0.000
## 133 French_Culture ~~ Product_Assortment 0.248 0.044 5.635 0.000
## 134 French_Culture ~~ Gourmet_Food 0.602 0.032 18.889 0.000
## 135 French_Culture ~~ Trendiness 0.366 0.042 8.717 0.000
## 136 French_Culture ~~ Professionalism 0.392 0.045 8.801 0.000
## 137 Product_Assortment ~~ Gourmet_Food 0.312 0.041 7.561 0.000
## 138 Product_Assortment ~~ Trendiness 0.521 0.034 15.277 0.000
## 139 Product_Assortment ~~ Professionalism 0.602 0.035 17.115 0.000
## 140 Gourmet_Food ~~ Trendiness 0.325 0.041 7.939 0.000
## 141 Gourmet_Food ~~ Professionalism 0.500 0.039 12.715 0.000
## 142 Trendiness ~~ Professionalism 0.602 0.035 17.316 0.000
## 143 RI ~~ CI -0.021 0.052 -0.404 0.686
## 144 Im20 ~1 3.125 0.103 30.227 0.000
## 145 Im21 ~1 3.750 0.121 31.050 0.000
## 146 Im22 ~1 2.802 0.095 29.427 0.000
## 147 Im3 ~1 3.786 0.122 30.966 0.000
## 148 Im4 ~1 3.713 0.120 30.892 0.000
## 149 Im5 ~1 3.787 0.124 30.536 0.000
## 150 Im11 ~1 4.944 0.157 31.556 0.000
## 151 Im12 ~1 4.987 0.158 31.554 0.000
## 152 Im13 ~1 4.528 0.144 31.371 0.000
## 153 Im6 ~1 4.857 0.153 31.837 0.000
## 154 Im7 ~1 4.765 0.151 31.498 0.000
## 155 Im9 ~1 3.756 0.122 30.738 0.000
## 156 Im1 ~1 3.600 0.117 30.795 0.000
## 157 Im2 ~1 3.781 0.122 30.985 0.000
## 158 Im10 ~1 6.936 0.213 32.497 0.000
## 159 Im14 ~1 7.093 0.221 32.061 0.000
## 160 Im17 ~1 4.043 0.130 31.185 0.000
## 161 Im18 ~1 3.287 0.109 30.211 0.000
## 162 Im16 ~1 4.270 0.137 31.197 0.000
## 163 Im19 ~1 4.576 0.145 31.518 0.000
## 164 SAT_1 ~1 5.239 0.164 31.993 0.000
## 165 SAT_2 ~1 5.455 0.171 31.822 0.000
## 166 SAT_3 ~1 4.774 0.154 31.028 0.000
## 167 COM_A1 ~1 2.983 0.100 29.691 0.000
## 168 COM_A2 ~1 2.420 0.085 28.579 0.000
## 169 COM_A3 ~1 2.178 0.079 27.668 0.000
## 170 COM_A4 ~1 1.991 0.074 27.034 0.000
## 171 C_REP1 ~1 5.859 0.179 32.673 0.000
## 172 C_REP2 ~1 7.250 0.221 32.854 0.000
## 173 C_REP3 ~1 8.445 0.258 32.684 0.000
## 174 C_CR1 ~1 1.375 0.060 22.814 0.000
## 175 C_CR3 ~1 1.572 0.064 24.432 0.000
## 176 C_CR4 ~1 1.405 0.061 23.127 0.000
## 177 Shopping_Experience ~1 0.000 0.000 NA NA
## 178 Store_Decoration ~1 0.000 0.000 NA NA
## 179 Luxury_Brands ~1 0.000 0.000 NA NA
## 180 French_Culture ~1 0.000 0.000 NA NA
## 181 Product_Assortment ~1 0.000 0.000 NA NA
## 182 Gourmet_Food ~1 0.000 0.000 NA NA
## 183 Trendiness ~1 0.000 0.000 NA NA
## 184 Professionalism ~1 0.000 0.000 NA NA
## 185 CS ~1 0.000 0.000 NA NA
## 186 AC ~1 0.000 0.000 NA NA
## 187 RI ~1 0.000 0.000 NA NA
## 188 CI ~1 0.000 0.000 NA NA
## ci.lower ci.upper
## 1 0.810 0.877
## 2 0.749 0.829
## 3 0.841 0.904
## 4 0.920 0.953
## 5 0.956 0.984
## 6 0.722 0.798
## 7 0.552 0.673
## 8 0.836 0.909
## 9 0.817 0.892
## 10 0.801 0.873
## 11 0.885 0.948
## 12 0.523 0.648
## 13 0.948 1.001
## 14 0.875 0.933
## 15 0.895 0.949
## 16 0.928 0.980
## 17 0.940 0.999
## 18 0.821 0.890
## 19 0.718 0.811
## 20 0.811 0.894
## 21 0.826 0.904
## 22 0.777 0.861
## 23 0.564 0.684
## 24 0.758 0.834
## 25 0.803 0.868
## 26 0.782 0.852
## 27 0.811 0.874
## 28 0.778 0.853
## 29 0.902 0.960
## 30 0.715 0.797
## 31 0.814 0.888
## 32 0.787 0.864
## 33 0.766 0.846
## 34 -0.032 0.180
## 35 -0.271 -0.036
## 36 -0.149 0.084
## 37 0.012 0.235
## 38 0.087 0.310
## 39 -0.049 0.187
## 40 -0.115 0.126
## 41 0.310 0.650
## 42 0.308 0.511
## 43 -0.143 0.087
## 44 -0.235 -0.002
## 45 0.097 0.318
## 46 0.006 0.226
## 47 -0.106 0.129
## 48 -0.147 0.092
## 49 -0.034 0.295
## 50 0.195 0.442
## 51 0.251 0.461
## 52 -0.031 0.202
## 53 -0.097 0.140
## 54 -0.026 0.209
## 55 -0.182 0.045
## 56 -0.148 0.072
## 57 -0.059 0.174
## 58 -0.136 0.101
## 59 -0.240 0.124
## 60 -0.324 -0.056
## 61 0.265 0.491
## 62 -0.014 0.245
## 63 -0.154 0.110
## 64 -0.046 0.216
## 65 -0.208 0.046
## 66 -0.129 0.118
## 67 -0.166 0.094
## 68 -0.113 0.151
## 69 -0.299 0.102
## 70 0.232 0.345
## 71 0.315 0.440
## 72 0.183 0.294
## 73 0.093 0.153
## 74 0.033 0.086
## 75 0.365 0.480
## 76 0.551 0.699
## 77 0.176 0.303
## 78 0.205 0.333
## 79 0.240 0.360
## 80 0.103 0.218
## 81 0.584 0.730
## 82 -0.001 0.102
## 83 0.131 0.235
## 84 0.100 0.200
## 85 0.040 0.140
## 86 0.003 0.118
## 87 0.209 0.326
## 88 0.345 0.487
## 89 0.202 0.344
## 90 0.184 0.319
## 91 0.260 0.398
## 92 0.535 0.685
## 93 0.307 0.426
## 94 0.247 0.356
## 95 0.276 0.390
## 96 0.237 0.344
## 97 0.273 0.396
## 98 0.078 0.187
## 99 0.366 0.491
## 100 0.213 0.339
## 101 0.255 0.382
## 102 0.285 0.416
## 103 1.000 1.000
## 104 1.000 1.000
## 105 1.000 1.000
## 106 1.000 1.000
## 107 1.000 1.000
## 108 1.000 1.000
## 109 1.000 1.000
## 110 1.000 1.000
## 111 0.491 0.660
## 112 0.581 0.733
## 113 0.591 0.742
## 114 0.755 0.903
## 115 0.394 0.541
## 116 0.335 0.501
## 117 0.267 0.437
## 118 0.372 0.523
## 119 0.210 0.380
## 120 0.444 0.588
## 121 0.394 0.558
## 122 0.396 0.544
## 123 0.284 0.445
## 124 0.370 0.513
## 125 0.343 0.491
## 126 0.448 0.585
## 127 0.593 0.717
## 128 0.252 0.426
## 129 0.402 0.552
## 130 0.376 0.528
## 131 0.497 0.634
## 132 0.452 0.610
## 133 0.162 0.335
## 134 0.540 0.665
## 135 0.284 0.448
## 136 0.305 0.480
## 137 0.231 0.392
## 138 0.454 0.588
## 139 0.533 0.671
## 140 0.245 0.405
## 141 0.423 0.577
## 142 0.534 0.670
## 143 -0.123 0.081
## 144 2.922 3.327
## 145 3.514 3.987
## 146 2.615 2.988
## 147 3.547 4.026
## 148 3.477 3.948
## 149 3.544 4.030
## 150 4.637 5.251
## 151 4.677 5.296
## 152 4.245 4.811
## 153 4.558 5.156
## 154 4.469 5.062
## 155 3.516 3.995
## 156 3.371 3.829
## 157 3.541 4.020
## 158 6.518 7.355
## 159 6.659 7.526
## 160 3.788 4.297
## 161 3.074 3.501
## 162 4.001 4.538
## 163 4.291 4.860
## 164 4.918 5.560
## 165 5.119 5.791
## 166 4.472 5.075
## 167 2.786 3.180
## 168 2.254 2.585
## 169 2.024 2.332
## 170 1.847 2.135
## 171 5.508 6.211
## 172 6.817 7.682
## 173 7.939 8.952
## 174 1.257 1.493
## 175 1.446 1.699
## 176 1.286 1.524
## 177 0.000 0.000
## 178 0.000 0.000
## 179 0.000 0.000
## 180 0.000 0.000
## 181 0.000 0.000
## 182 0.000 0.000
## 183 0.000 0.000
## 184 0.000 0.000
## 185 0.000 0.000
## 186 0.000 0.000
## 187 0.000 0.000
## 188 0.000 0.000
SEM Visualization
lavaanPlot(model = fit_SEM, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "steelblue4"), coefs = TRUE, sig = 0.05, covs = FALSE, digits = 2)
lavaanPlot(model = fit_SEM, node_options = list(shape = "box", fontname = "Helvetica"), edge_options = list(color = "steelblue4"), coefs = TRUE,sig = 0.05, covs = TRUE, digits = 2)